注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术工业技术建筑科学建筑设计Storm应用实践:实时事务处理之策略

Storm应用实践:实时事务处理之策略

Storm应用实践:实时事务处理之策略

定 价:¥69.00

作 者: 肖恩T.艾伦,马修·扬科夫斯基
出版社: 机械工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787111586210 出版时间: 2018-01-01 包装:
开本: 页数: 字数:  

内容简介

  本书是一本指导Storm用户实践应用的指南,从Storm组件的应用细节、Storm的代码逻辑,到如何优化拓扑性能,以及如何在生产环境中部署Storm集群,作者将TheLadders的项目实践经验都整理归纳并在本书中完整呈现,配上大量图例说明,还附带了应用代码演示,使读者可以在短时间内学到作者花费多年才总结出来的Storm知识精华。

作者简介

暂缺《Storm应用实践:实时事务处理之策略》作者简介

图书目录

目  录?Contents

\n


\n

译者序

\n


\n

\n


\n

前言

\n


\n

致谢

\n


\n

关于本书

\n


\n

关于原书封面插图

\n


\n

第1章 Storm简介  1

\n


\n

1.1 什么是大数据  1

\n


\n

1.1.1 大数据的四大特性  2

\n


\n

1.1.2 大数据工具  3

\n


\n

1.2 Storm如何应用于大数据应用场景  5

\n


\n

1.3 为什么你希望使用Storm  9

\n


\n

1.4 小结  10

\n


\n

第2章 Storm核心概念  11

\n


\n

2.1 问题定义:GitHub提交数监控看板  11

\n


\n

2.1.1 数据:起点和终点  12

\n


\n

2.1.2 分解问题  12

\n


\n

2.2 Storm基础概念  13

\n


\n

2.2.1 拓扑  13

\n


\n

2.2.2 元组  15

\n


\n

2.2.3 流  16

\n


\n

2.2.4 spout  17

\n


\n

2.2.5 bolt  18

\n


\n

2.2.6 流分组  20

\n


\n

2.3 在Storm中实现GitHub提交数监控看板  22

\n


\n

2.3.1 建立一个Storm工程  22

\n


\n

2.3.2 实现spout  23

\n


\n

2.3.3 实现bolt  26

\n


\n

2.3.4 集成各个部分组成拓扑  29

\n


\n

2.4 小结  30

\n


\n

第3章 拓扑设计  31

\n


\n

3.1 拓扑设计方法  32

\n


\n

3.2 问题定义:一个社交热力图  32

\n


\n

3.3 将解决方案映射至Storm的逻辑  33

\n


\n

3.3.1 考虑数据流本身施加的要求  33

\n


\n

3.3.2 将数据点表示为元组  34

\n


\n

3.3.3 确定拓扑组成的步骤  35

\n


\n

3.4 设计的初步实现  38

\n


\n

3.4.1 spout:从数据源读取数据  38

\n


\n

3.4.2 bolt:连接至外部服务  39

\n


\n

3.4.3 bolt:将数据寄放在内存里  41

\n


\n

3.4.4 bolt:持久化存储到数据库  45

\n


\n

3.4.5 定义组件间的流分组策略  47

\n


\n

3.4.6 在本地集群模式中构建一个拓扑  48

\n


\n

3.5 扩展拓扑  49

\n


\n

3.5.1 理解Storm中的并行机制  50

\n


\n

3.5.2 调整拓扑配置来解决设计中遗留的瓶颈  54

\n


\n

3.5.3 调整拓扑以解决数据流中固有的瓶颈  60

\n


\n

3.6 拓扑的设计范式  63

\n


\n

3.6.1 分解为功能组件的设计方法  65

\n


\n

3.6.2 基于重分配来分解组件的设计方法  65

\n


\n

3.6.3 最简单的功能组件与最少的重分配次数  69

\n


\n

3.7 小结  70

\n


\n

第4章 设计健壮的拓扑  71

\n


\n

4.1 对可靠性的要求  71

\n


\n

4.2 问题定义:一个信用卡授权系统  72

\n


\n

4.2.1 有重试特性的概念性解决方案  72

\n


\n

4.2.2 定义数据点  74

\n


\n

4.2.3 在Storm上实现带有重试特性的方案  74

\n


\n

4.3 bolt基础实现  76

\n


\n

4.3.1 AuthorizeCreditCard的实现  76

\n


\n

4.3.2 ProcessedOrderNotification的实现  77

\n


\n

4.4 消息处理保障  78

\n


\n

4.4.1 元组状态:处理完成或失败  78

\n


\n

4.4.2 bolt中的锚定、应答和容错  80

\n


\n

4.4.3 spout在消息处理保障中的角色  84

\n


\n

4.5 回放语义  87

\n


\n

4.5.1 Storm中可靠性的级别  87

\n


\n

4.5.2 在Storm拓扑中检查仅一次处理  88

\n


\n

4.5.3 检查拓扑中的可靠性保障  89

\n


\n

4.6 小结  94

\n


\n

第5章 拓扑由本地到远程的实施  95

\n


\n

5.1 Storm集群  96

\n


\n

5.1.1 解析工作结点  98

\n


\n

5.1.2 基于信用卡授权拓扑的上下文来理解工作结点  99

\n


\n

5.2 Storm集群容错中的快速失败机制  100

\n


\n

5.3 安装Storm集群  101

\n


\n

5.3.1 配置Zookeeper集群  101

\n


\n

5.3.2 在 Storm 的主结点和工作结点上安装依赖组件  102

\n


\n

5.3.3 安装Storm到主结点和工作结点  102

\n


\n

5.3.4 通过storm.yaml配置主结点和工作结点  102

\n


\n

5.3.5 在监督机制下启动Nimbus和Supervisor  103

\n


\n

5.4 在Storm集群上运行拓扑  104

\n


\n

5.4.1 重新考虑如何将拓扑组件组合在一起  104

\n


\n

5.4.2 在本地模式下运行拓扑  105

\n


\n

5.4.3 在一个远程 Storm 集群上运行拓扑  105

\n


\n

5.4.4 在一个远程Storm集群上部署拓扑  106

\n


\n

5.5 Storm UI及其在集群中的角色   107

\n


\n

5.5.1 Storm UI:Storm集群概要  107

\n


\n

5.5.2 Storm UI:独立拓扑概要  111

\n


\n

5.5.3 Storm UI:独立spout/bolt概要  115

\n


\n

5.6 小结  118

\n


\n

第6章 对Storm进行调优  120

\n


\n

6.1 问题定义:Daily Deals!重生版  121

\n


\n

6.1.1 创建概念性解决方案  121

\n


\n

6.1.2 将方案转换为Storm设计  122

\n


\n

6.2 初始化实施  122

\n


\n

6.2.1 spout:读取自一个数据源  124

\n


\n

6.2.2 bolt:查找推荐商品  125

\n


\n

6.2.3 bolt:为每个商品查询详细信息  126

\n


\n

6.2.4 bolt:保存推荐的商品详情  127

\n


\n

6.3 调优:我想为它提速  128

\n


\n

6.3.1 Storm UI:调优的定位工具  128

\n


\n

6.3.2 为性能值建立一个基线集  130

\n


\n

6.3.3 判断瓶颈  131

\n


\n

6.3.4 spout:控制数据流入拓扑的速率  135

\n


\n

6.4 延迟率:当外部系统依然能正常工作时  137

\n


\n

6.4.1 在拓扑中模拟延迟  137

\n


\n

6.4.2 延迟的外因和内因  139

\n


\n

6.5 Storm的指标统计API  143

\n


\n

6.5.1 使用Storm的内建

\n


\n

CountMetric  143

\n


\n

6.5.2 设置一个指标接收器  144

\n


\n

6.5.3 创建一个自定义的SuccessRateMetric  145

\n


\n

6.5.4 创建一个自定义的MultiSuccessRateMetric  147

\n


\n

6.6 小结  149

\n


\n

第7章 资源冲突  150

\n


\n

7.1 调整一个工作结点上运行的工作进程数量  152

\n


\n

7.1.1 问题  152

\n


\n

7.1.2 解决方案  152

\n


\n

7.1.3 讨论  153

\n


\n

7.2 修改工作进程(JVM)上的内存分配  153

\n


\n

7.2.1 问题  153

\n


\n

7.2.2 解决方案  154

\n


\n

7.2.3 讨论  154

\n


\n

7.3 定位拓扑上运行的工作结点/进程  154

\n


\n

7.3.1 问题  154

\n


\n

7.3.2 解决方案  155

\n


\n

7.3.3 讨论  155

\n


\n

7.4 在一个Storm集群中的工作进程冲突  156

\n


\n

7.4.1 问题  157

\n


\n

7.4.2 解决方案  157

\n


\n

7.4.3 讨论  158

\n


\n

7.5 在一个工作进程(JVM)中的内存冲突  159

\n


\n

7.5.1 问题  162

\n


本目录推荐