第1章 绪论
1.1 Storm的基本组件
1.1.1 集群组成
1.1.2 核心概念
1.1.3 Storm的可靠性
1.1.4 Storm的特性
1.2 其他流式处理框架
1.2.1 Apache S4
1.2.2 Spark Streaming
1.2.3 流计算和Storm的应用
第2章 实时平台介绍
2.1 实时平台架构介绍
2.2 Kafka架构
2.2.1 Kafka的基本术语和概念
2.2.2 Kafka在实时平台中的应用
2.2.3 消息的持久化和顺序读写
2.2.4 sendfile系统调用和零复制
2.2.5 Kafka的客户端
2.2.6 Kafka的扩展
2.3 大众点评实时平台
2.3.1 相关数据
2.3.2 实时平台简介
2.3.3 Blackhole
2.4 1号店实时平台
第3章 Storm集群部署和配置
3.1 Storm的依赖组件
3.2 Storm的部署环境
3.3 部署Storm服务
3.3.1 部署ZooKeeper
3.3.2 部署Storm
3.3.3 配置Storm
3.4 启动Storm
3.5 Storm的守护进程
3.6 部署Storm的其他节点
3.7 提交Topology
第4章 Storm内部剖析
4.1 Storm客户端
4.2 Nimbus
4.2.1 启动Nimbus服务
4.2.2 Nimbus服务的执行过程
4.2.3 分配Executor
4.2.4 调度器
4.2.5 默认调度器DefaultScheduler
4.2.6 均衡调度器EvenScheduler
4.3 Supervisor
4.3.1 ISupervisor接口
4.3.2 Supervisor的共享数据
4.3.3 Supervisor的执行过程
4.4 Worker
4.4.1 Worker中的数据流
4.4.2 创建Worker的过程
4.5 Executor
4.5.1 Executor的创建
4.5.2 创建Spout的Executor
4.5.3 创建Bolt的Executor
4.6 Task
4.6.1 Task的上下文对象
4.6.2 Task的创建
4.7 Storm中的统计
4.7.1 stats框架
4.7.2 metric框架
4.8 Ack框架
4.8.1 Ack的原理
4.8.2 Acker Bolt
4.9 Storm总体架构
第5章 Storm运维和监控
5.1 主机信息监控
5.1 日志和监控
5.2 Storm UI和NimbusClient
5.3 Storm Metric的使用
5.4 Storm ZooKeeper的目录
5.5 Storm Hook的使用
第6章 Storm的扩展
6.1 Storm UI的扩展
6.1.1 Storm UI原生功能
6.1.2 Storm UI新功能需求
6.1.3 Storm的Thrift接口
6.2 资源隔离
6.2.1 CGroup测试
6.2.2 基于CGroup的资源隔离的实现
第7章 Storm开发
7.1 简单示例
7.2 调试和日志
7.3 Storm Trident
7.4 Strom DRPC
第8章 基于Storm的实时数据平台
8.1 Hadoop到Storm的代码迁移经验
8.2 实时用户画像
8.2.1 简单实时画像
8.2.2 实时画像优化
8.2.3 实时画像的毫秒级更新
8.3 其他场景画像
8.4 画像的兴趣度模型构建
8.5 外部画像融合经验分享
8.6 交互式查询和分析用户画像
8.7 实时产品和店铺信息更新
第9章 大数据应用案例
9.1 实时DAU计算
9.2 实时个性化推荐
9.2.1 推荐系统介绍
9.2.2 实时推荐系统的方法
9.2.3 基于Storm的实时推荐系统
9.3 广告投放的精准化
9.3.1 点击率预测
9.3.2 搜索引擎营销
9.3.3 精准化营销与千人千面
9.4 实时意图和搜索
9.4.1 用户意图预测
9.4.2 搜索比价
9.4.3 搜索排序
第10章 Storm使用经验和性能优化
10.1 使用经验
10.1.1 使用rebalance命令动态调整并发度
10.1.2 使用tick消息做定时器
10.1.3 使用组件的并行度代替线程池
10.1.4 不要用DRPC批量处理大数据
10.1.5 不要在Spout中处理耗时的操作
10.1.6 log4j的使用技巧
10.1.7 注意fieldsGrouping的数据均衡性
10.1.8 优先使用localOrShuffleGrouping
10.1.9 设置合理的MaxSpoutPending值
10.1.10 设置合理的Worker数
10.1.11 平衡吞吐量和时效性
10.2 性能优化
10.2.1 找到Topology的性能瓶颈
10.2.2 GC参数优化
10.3 性能优化原则
附录A Kafka原理
附录B 将Storm源码导入Eclipse