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

实时流计算系统设计与实现
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2020-01
版次: 1
ISBN: 9787111645801
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 240页
10人买过
  • 全书分为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生产者
  • 内容简介:
    全书分为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生产者
查看详情
12
相关图书 / 更多
实时流计算系统设计与实现
实时数据流的算法处理及其应用
张晓龙
实时流计算系统设计与实现
实时耦联动力试验的大规模数值模拟研究与应用(清华大学优秀博士学位论文丛书)
朱飞 著
实时流计算系统设计与实现
实时嵌入式系统
[美]王加存 著;樊卫华 译
实时流计算系统设计与实现
实时数据处理技术
卜令瑞 陈永 孙志敏
实时流计算系统设计与实现
实时语音处理实践指南
葛世超
实时流计算系统设计与实现
实时数字信号处理(从MATLAB到C)——基于TMS320C6xDSP(第3版)
Thad B. Walch、Cameron H.G. Wright、Michael G. Morr 著
实时流计算系统设计与实现
实时风险:量化投资者必须了解的金融科技、高频交易与大盘闪崩
[美]艾琳·奥尔德里奇(Irene Aldridge) 著;熊振华 译
实时流计算系统设计与实现
实时嵌入式系统设计方法
李曦;陈香兰;王超;周学海
实时流计算系统设计与实现
实时嵌入式系统软件设计
Gomaa 著;Hassan、郭文海 林金龙 译
实时流计算系统设计与实现
实时混合试验综合补偿方法理论与实践
刘洁
实时流计算系统设计与实现
实时数据处理和分析指南
Gupta 著;[印度]希尔皮·萨克塞纳(Shilpi Saxena)、[印度]沙鲁巴·古普塔、Saurabh、吴志国、曾凤姝 译
实时流计算系统设计与实现
实时战略:人工智能助力战略规划
[德]安德里亚斯.舒利;[德]弗兰克.贝克尔;[德]弗洛莱恩.克莱因
您可能感兴趣 / 更多