事件流实战

豆瓣 谷歌图书
事件流实战

登录后可管理标记收藏。

ISBN: 9787302559412
作者: 德安
译者: 金中浩
出版社: 清华大学出版社
发行时间: 2020 -8
语言: 中文
装订: 平装
价格: 98
页数: 299

/ 10

0 个评分

评分人数不足
借阅或购买

德安    译者: 金中浩

简介

Linkedln、Netflix等知名应用都通过实时响应用户和系统事件,来提高灵活度和响应速度。在大规模系统中,需要能高效地监控、管理和处理大量的事件流。
Kafka工具以及诸如统一日志处理的创新模式可帮助我们为基于事件的系统创建连贯的数据处理架构。
《事件流实战》讲解如何使用统一日志模式,来聚合、存储和处理事件流。在这本实用指南中,你将看到Lambda架构、流聚合和事件重放处理等重要的系统设计,还将看到扩展、弹性和高级流模式!读完本书,你将能设计出易于构建、部署和维护的由数据驱动的大型应用。
主要内容
校验与监控事件流
事件分析
事件建模
Apache Kafka与Amazon Kinesis的使用示例

目录

第I部分 事件流与统一日志
第1章 事件流 3
1.1 术语定义 4
1.1.1 事件 4
1.1.2 持续事件流 5
1.2 探寻我们熟悉的事件流 6
1.2.1 应用级日志 6
1.2.2 站点分析 8
1.2.3 发布/订阅消息 9
1.3 统一持续事件流 11
1.3.1 古典时代 12
1.3.2 混合时代 14
1.3.3 统一时代 15
1.4 统一日志的应用场景 17
1.4.1 用户反馈环路 17
1.4.2 整体系统监控 18
1.4.3 应用系统版本在线升级 19
1.5 本章小结 20
第2章 统一日志 21
2.1 深入统一日志 22
2.1.1 统一 22
2.1.2 只可追加 23
2.1.3 分布式 23
2.1.4 有序性 24
2.2 引入我们的应用 25
2.2.1 识别关键事件 26
2.2.2 电子商务中的统一日志 27
2.2.3 首个事件建模 28
2.3 配置统一日志 30
2.3.1 下载并安装Apache Kafka 30
2.3.2 创建流 31
2.3.3 发送和接收事件 31
2.4 本章小结 33
第3章 使用Apache Kafka进行
事件流处理 35
3.1 事件流处理入门 36
3.1.1 为什么要处理事件流? 36
3.1.2 单事件处理 38
3.1.3 多事件处理 38
3.2 设计第一个流处理程序 39
3.2.1 将Kafka作为黏合剂 39
3.2.2 明确需求 40
3.3 编写一个简单的Kafka worker 42
3.3.1 配置开发环境 42
3.3.2 应用配置 43
3.3.3 从Kafka读取事件 45
3.3.4 向Kafka写入事件 46
3.3.5 整合读取与写入 47
3.3.6 测试 48
3.4 编写单事件处理器 49
3.4.1 编写事件处理器 50
3.4.2 更新main方法 52
3.4.3 再次测试 53
3.5 本章小结 54
第4章 使用Amazon Kinesis 处理流事件 55
4.1 向Kinesis写入事件 56
4.1.1 系统监控与统一日志 56
4.1.2 与Kafka的术语 差异 58
4.1.3 配置事件流 58
4.1.4 事件建模 60
4.1.5 编写代理程序 60
4.2 从Kinesis读取事件 65
4.2.1 Kinesis的框架与SDK 66
4.2.2 使用AWS CLI读取事件 67
4.2.3 使用boto监控Kinesis stream 72
4.3 本章小结 79
第5章 有状态的流式处理 81
5.1 侦测“购物者弃置购物车”事件 82
5.1.1 管理者的需求 82
5.1.2 算法定义 82
5.1.3 派生事件流 83
5.2 新事件的模型 84
5.2.1 购物者将商品放入购物车 84
5.2.2 购物者支付订单 85
5.2.3 购物者弃置购物车 85
5.3 有状态的流式处理 86
5.3.1 状态管理 86
5.3.2 流窗口 88
5.3.3 流式处理框架的功能 88
5.3.4 流式处理框架 89
5.3.5 为尼罗选择一个流式处理框架 92
5.4 侦测被弃置的购物车 92
5.4.1 设计Samza job 92
5.4.2 项目准备 94
5.4.3 配置Samza job 94
5.4.4 使用Java开发job task 96
5.5 运行Samza job 101
5.5.1 YARN 101
5.5.2 提交job 102
5.5.3 测试job 102
5.5.4 改进job 104
5.6 本章小结 104
第II部分 针对流的数据工程
第6章 模式 107
6.1 模式介绍 108
6.1.1 Plum公司 108
6.1.2 将事件模式作为
契约 109
6.1.3 模式技术的功能 111
6.1.4 不同的模式技术 112
6.1.5 为Plum公司选择一种
模式技术 114
6.2 Avro中的事件模型 114
6.2.1 准备开发环境 115
6.2.2 编写质检事件的模式 116
6.2.3 Avro与Java的互相转换 117
6.2.4 测试 120
6.3 事件与模式的关联 121
6.3.1 初步的探索 121
6.3.2 Plum公司的自描述事件 124
6.3.3 Plum公司的模式注册 125
6.4 本章小结 127
第7章 事件归档 129
7.1 归档者宣言 130
7.1.1 弹性 131
7.1.2 重复处理 132
7.1.3 精准 133
7.2 归档的设计 135
7.2.1 什么应被归档 135
7.2.2 何处进行归档 136
7.2.3 如何进行归档 136
7.3 使用Secor归档Kafka的事件 137
7.3.1 配置 Kafka 138
7.3.2 创建事件归档 140
7.3.3 配置Secor 141
7.4 批处理事件 143
7.4.1 批处理入门 143
7.4.2 设计批处理任务 145
7.4.3 使用Apache Spark编写任务 146
7.4.4 使用 Elastic MapReduce运行任务 151
7.5 本章小结 156
第8章 轨道式流处理 157
8.1 异常流程 158
8.1.1 UNIX编程中的异常
处理 158
8.1.2 Java中的异常处理 160
8.1.3 异常与日志 163
8.2 异常与统一日志 164
8.2.1 针对异常的设计 164
8.2.2 建立异常事件模型 166
8.2.3 组合多个正常处理流程 168
8.3 使用Scalaz组合异常 168
8.3.1 异常的处理计划 169
8.3.2 配置Scala项目 170
8.3.3 从Java到Scala 171
8.3.4 使用Scalaz更好地处理异常 174
8.3.5 组合异常 175
8.4 实现轨道式编程 179
8.4.1 轨道式处理 180
8.4.2 构建轨道 182
8.5 本章小结 189
第9章 命令 191
9.1 命令与统一日志 192
9.1.1 事件与命令 192
9.1.2 隐式命令与显式命令 193
9.1.3 在统一日志中使用命令 194
9.2 决策 195
9.2.1 Plum公司中的命令 195
9.2.2 对命令进行建模 197
9.2.3 编写警报的模式 198
9.2.4 定义警报的模式 200
9.3 消费命令 201
9.3.1 合适的工具 201
9.3.2 读取命令 202
9.3.3 转换命令 203
9.3.4 连接各个程序 205
9.3.5 测试 206
9.4 执行命令 207
9.4.1 使用MailGun 207
9.4.2 完成executor 208
9.4.3 最后的测试 211
9.5 扩展命令 212
9.5.1 单条流还是多条? 212
9.5.2 处理命令执行的异常 213
9.5.3 命令层级 214
9.6 本章小结 215
第III部分 事件分析
第10章 读取时分析 219
10.1 读取时分析与写入时分析 220
10.1.1 读取时分析 220
10.1.2 写入时分析 221
10.1.3 选择一种解决方案 222
10.2 OOPS的事件流 223
10.2.1 货车事件与实体 223
10.2.2 货车司机事件与实体 224
10.2.3 OOPS的事件模型 224
10.2.4 OOPS的事件归档 226
10.3 使用Amazon Redshift 227
10.3.1 Redshift介绍 227
10.3.2 配置Redshift 229

其它版本 (1)
短评
评论
笔记