书籍详情

实时流计算系统设计与实现

实时流计算系统设计与实现

作者:周爽 著

出版社:机械工业出版社

出版时间:2020-01-01

ISBN:9787111645801

定价:¥79.00

购买这本书可以去
内容简介
  全书分为11章。第1章介绍了实时流计算技术的产生背景、使用场景和通用架构。第2章通过实时流计算数据的采集,详细分析了Java高性能编程的理论基础。第3-6章通过从头构造一个分布式实时流计算框架,详细剖析了实时流计算中的几个核心概念和技术重点,并通过多个开源流计算平台的实现来验证这些核心概念和技术重点。第7章谈论了当实在做不到“实时”时,我们应该作出的备选方案。第8-10章阐述了构建一个完整实时流计算系统时,必要的周边辅助系统。第11章给出实时流计算应用案例。
作者简介
暂缺《实时流计算系统设计与实现》作者简介
目录
前言
第1章 实时流计算 1
1.1 大数据时代的新挑战:实时流计算 1
1.2 实时流计算使用场景 2
1.3 实时流数据的特点 4
1.4 实时流计算系统架构 6
1.4.1 数据采集 6
1.4.2 数据传输 7
1.4.3 数据处理 8
1.4.4 数据存储 8
1.4.5 数据展示 9
1.5 本章小结 10
第2章 数据采集 11
2.1 设计数据采集的接口 11
2.2 使用Spring Boot实现数据采集服务器 12
2.3 BIO与NIO 14
2.3.1 BIO连接器 14
2.3.2 NIO连接器 17
2.4 NIO和异步 19
2.4.1  CPU密集型任务 19
2.4.2 I/O密集型任务 20
2.4.3 I/O和CPU都密集型任务 21
2.4.4 纤程 22
2.4.5 Actor 24
2.4.6 NIO配合异步编程 25
2.5  使用Netty实现数据采集服务器 26
2.5.1 使用Netty实现数据采集API 27
2.5.2 异步编程 29
2.5.3 流量控制和反向压力 31
2.5.4 实现反向压力 32
2.5.5 异步的不足之处 36
2.6 本章小结 36
第3章 实现单节点流计算应用 38
3.1 自己动手写实时流计算框架 38
3.1.1 用DAG描述流计算过程 38
3.1.2 造一个流计算框架的轮子 39
3.1.3 实现特征提取DAG节点 42
3.1.4 实现特征提取DAG拓扑 45
3.2 CompletableFuture方法与原理 46
3.2.1 常用的CompletableFuture类方法 47
3.2.2 CompletableFuture的工作原理 49
3.3 采用CompletableFuture实现单节点流处理 51
3.3.1 基于CompletableFuture实现流计算应用 51
3.3.2 反向压力 53
3.3.3 死锁 54
3.3.4 再论流与异步的关系 55
3.4 流计算应用的性能调优 56
3.4.1 优化机制 56
3.4.2 优化工具 56
3.4.3 线程状态 62
3.4.4 优化方向 66
3.5 本章小结 67
第4章 数据处理 68
4.1 流计算到底在计算什么 68
4.2 流数据操作 70
4.2.1 过滤 70
4.2.2 映射 70
4.2.3 展开映射 71
4.2.4 聚合 72
4.2.5 关联 73
4.2.6 分组 75
4.2.7 遍历 75
4.3 时间维度聚合特征计算 76
4.4 关联图谱特征计算 78
4.4.1 一度关联 79
4.4.2 二度关联 81
4.5 事件序列分析 85
4.5.1 CEP编程模式 86
4.5.2 Flink CEP实例 87
4.6 模型学习和预测 89
4.6.1 统计学习模型 90
4.6.2 P-value检验 90
4.6.3 机器学习模型 91
4.7 本章小结 93
第5章 实时流计算的状态管理 94
5.1 流的状态 94
5.1.1 流数据状态 96
5.1.2 流信息状态 97
5.2 采用Redis实现流信息状态管理 98
5.2.1 时间维度聚合特征计算 98
5.2.2 一度关联特征计算 99
5.3 采用Apache Ignite实现流信息状态管理 100
5.3.1 时间维度聚合分析 101
5.3.2 一度关联特征计算 103
5.4 扩展为集群 105
5.4.1 基于Redis的状态集群 106
5.4.2 局部性原理 106
5.4.3 批次请求处理 108
5.4.4 基于Apache Ignite的状态集群 109
5.4.5 基于分布式文件系统的状态管理集群 109
5.5 本章小结 110
第6章 开源流计算框架 111
6.1 Apache Storm 112
6.1.1 系统架构 112
6.1.2 流的描述 113
6.1.3 流的执行 113
6.1.4 流的状态 116
6.1.5 消息传达可靠性保证 116
6.2 Spark Streaming 117
6.2.1 系统架构 117
6.2.2 流的描述 117
6.2.3 流的执行 118
6.2.4 流的状态 119
6.2.5 消息传达可靠性保证 120
6.3 Apache Samza 120
6.3.1 系统架构 120
6.3.2 流的描述 121
6.3.3 流的执行 123
6.3.4 流的状态 126
6.3.5 消息传达可靠性保证 126
6.4 Apache Flink 127
6.4.1 系统架构 127
6.4.2 流的描述 128
6.4.3 流的执行 128
6.4.4 流的状态 130
6.4.5 消息传达可靠性 131
6.5 本章小结 132
第7章 当做不到实时 133
7.1 做不到实时的原因 133
7.2 Lambda架构 134
7.2.1 数据系统和Lambda架构思想 135
7.2.2 Lambda架构 135
7.2.3 Lambda架构在实时流计算中的运用 137
7.3 Kappa架构与架构实例 138
7.3.1 Kappa架构 138
7.3.2 Kappa架构实例 140
7.4 本章小结 143
第8章 数据传输 144
8.1 消息中间件 144
8.1.1 为什么使用消息中间件 145
8.1.2 消息中间件的工作模式 146
8.1.3 消息模式 147
8.1.4 使用消息中间件的注意事项 149
8.2 Apache Kafka 150
8.2.1 Kafka架构 150
8.2.2 Kafka生产者
猜您喜欢

读书导航