《事件流实战瓦伦丁·克雷塔著金中浩译》[83M]百度网盘|pdf下载|亲测有效
《事件流实战瓦伦丁·克雷塔著金中浩译》[83M]百度网盘|pdf下载|亲测有效

事件流实战瓦伦丁·克雷塔著金中浩译 pdf下载

出版社 辽版图书卖场店
出版年 2020-08
页数 390页
装帧 精装
评分 9.3(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供事件流实战瓦伦丁·克雷塔著金中浩译电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

   图书基本信息
图书名称   事件流实战 作者   瓦伦丁·克雷塔(ValentinCrettaz)著金中浩 译
定价   98.00元 出版社   清华大学出版社
ISBN   9787302559412 出版日期   2020-08-01
字数    页码   
版次    装帧   平装
开本   16开 商品重量   

   内容提要

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


   目录

第I部分 事件流与统一日志

事件流 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部分 事件分析

0读取时分析 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

10.3.3 设计事件数据仓库 232

10.3.4 创建事件宽表 235

10.4 ETL和ELT 237

10.4.1 加载事件 237

10.4.2 维度扩展 240

10.4.3 数据易变性 244

10.5 分析 244

10.5.1 分析1:谁更换机油的次数 多? 245

10.5.2 分析2:谁是 不可靠的客户? 245

10.6 本章小结 247

1写入时分析 249

11.1 回到OOPS 250

11.1.1 配置Kinesis 250

11.1.2 需求收集 251

11.1.3 写入时分析算法 252

11.2 构建Lambda函数 256

11.2.1 配置DynamoDB 256

11.2.2 AWS Lambda 257

11.2.3 配置Lambda与事件建模 258

11.2.4 重温写入时分析算法 261

11.2.5 条件写入DynamoDB 265

11.2.6 后的Lambda代码 268

11.3 运行Lambda函数 269

11.3.1 部署Lambda函数 270

11.3.2 测试Lambda函数 272

11.4 本章小结 274

附录 AWS入门 277

A.1 设置AWS账户 277

A.2 创建用户 278

A.3 设置AWS CLI 283


   作者介绍

Alexander Dean作为共同创始人与技术负责人研发了Snowplow Analytics,这是一款开源的事件处理与分析平台。
Valentin Crettaz作为一名独立IT咨询顾问在过去25年中参与过许多富有挑战性的全球项目。她的专业能力涵盖了从软件工程与架构到数据科学与商业智能。她的日常工作是在IT解决方案中使用当前的Web、数据以及流技术,促使IT与业务部门的合作更融洽。金中浩,曾在花旗银行、中国平安、360金融担任软件工程师与系统架构师,现为ThoughtWorks高级咨询顾问。在15年的职业生涯中一直从事金融行业的软件开发与系统架构工作,擅长函数式编程与数据分析,坚信技术能让生活变得更美好。


   编辑推荐

“事件”对于开发者而言是个熟悉的词,各种开发框架、编程语言中都或多或少有“事件”的概念,但很少有书籍谈及如何运用事件对系统建模。“流”的概念亦是如此,计算机世界中充斥着各种流:输入输出流、网络流,还有近几年出现的流计算。而《事件流实战》把事件与流的概念结合在一起,展示了一种崭新的架构;通过流这种数据架构在系统之间传递事件,不仅解除了系统间的耦合,也为系统带来了更好的扩展性,同时数据分析师可以自由地开展各种分析。