×
暂无评论
图文详情
  • ISBN:9787115636362
  • 装帧:平装
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:312
  • 出版时间:2024-02-01
  • 条形码:9787115636362 ; 978-7-115-63636-2

本书特色

对于分布式应用程序而言,可靠的消息传递至关重要。作为灵活的实时消息传递平台,Pulsar堪称下一代分布式消息系统的翘楚。它集消息队列和流处理系统的功能于一身,为云计算系统提供了所需的可伸缩性和弹性,还解决了Kafka用户的关键痛点。



本书作者与Pulsar项目创始成员共事多年,拥有在生产环境中使用Pulsar的丰富经验。他从多年的实践经验中总结出常见的用例和消息设计模式,帮助想快速入门Pulsar的开发人员避开前人已经踩过的坑。正如Pulsar联合创办人Matteo Merli所说,这本书是引领读者了解Pulsar的指南,也是一直以来所欠缺的珍贵资料。



本书要点概览



* 与众多其他消息系统相比,Pulsar有何优势

* Pulsar中的关键概念,包括schema registry和连接器

* 利用Pulsar Functions框架开发外卖应用程序对于分布式应用程序而言,可靠的消息传递至关重要。作为灵活的实时消息传递平台,Pulsar堪称下一代分布式消息系统的翘楚。它集消息队列和流处理系统的功能于一身,为云计算系统提供了所需的可伸缩性和弹性,还解决了Kafka用户的关键痛点。



本书作者与Pulsar项目创始成员共事多年,拥有在生产环境中使用Pulsar的丰富经验。他从多年的实践经验中总结出常见的用例和消息设计模式,帮助想快速入门Pulsar的开发人员避开前人已经踩过的坑。正如Pulsar联合创办人Matteo Merli所说,这本书是引领读者了解Pulsar的指南,也是一直以来所欠缺的珍贵资料。



本书要点概览



* 与众多其他消息系统相比,Pulsar有何优势

* Pulsar中的关键概念,包括schema registry和连接器

* 利用Pulsar Functions框架开发外卖应用程序

* 十余种微服务设计模式在Pulsar中的实现

内容简介

Apache Pulsar被誉为下一代分布式消息系统,旨在打通发布/ 订阅式消息传递和流数据分析。本书作者既与Pulsar项目创始成员共事多年,又有在生产环境中使用Pulsar 的丰富经验。正是这些宝贵的经验成就了这本Pulsar“避坑指南”,为想轻松上手Pulsar的读者铺平了学习之路。本书分为三大部分,共有12章。**部分概述Pulsar的设计理念和用途。第二部分介绍Pulsar的特性。第三部分以一个虚构的外卖应用程序为例,详细地介绍Pulsar Functions框架的用法,并展示如何用它实现常见的微服务设计模式。本书示例采用Java语言,并同时提供Python实现。

目录

第 一部分 Apache Pulsar入门

第 1章 走近Pulsar 3

1.1 企业级消息系统 3

1.2 消息消费模式 6

1.2.1 消息发布和订阅 6

1.2.2 消息队列 6

1.3 消息系统的演进 7

1.3.1 通用消息系统 7

1.3.2 面向消息的中间件 8

1.3.3 企业服务总线 9

1.3.4 分布式消息系统 11

1.4 对比Pulsar 和Kafka 16

1.4.1 多层架构 17

1.4.2 消息消费模式不同 18

1.4.3 数据持久化 20

1.4.4 消息确认 22

1.4.5 消息保留 24

1.5 为什么需要Pulsar 24

1.5.1 保证消息投递 25

1.5.2 无限可扩展性 25

1.5.3 容错性 26

1.5.4 支持百万级主题 . 27

1.5.5 跨地域复制及主动故障切换 27

1.6 实际案例 29

1.6.1 统一的消息系统 29

1.6.2 微服务平台 29

1.6.3 车联网 30

1.6.4 反欺诈 30

1.7 补充资料 30

1.8 小结 31

第 2章 Pulsar 的架构和相关概念 32

2.1 Pulsar 的物理架构 32

2.1.1 Pulsar 的分层架构 33

2.1.2 无状态服务层 34

2.1.3 流存储层 37

2.1.4 元数据存储 40

2.2 Pulsar 的逻辑架构 42

2.2.1 租户、名字空间和主题 43

2.2.2 定位Pulsar 主题 45

2.2.3 生产者、消费者和订阅 46

2.2.4 订阅模式 47

2.3 消息保留和消息过期 50

2.3.1 消息保留 51

2.3.2 backlog配额 52

2.3.3 消息过期 53

2.3.4 对比消息保留策略与消息过期策略 54

2.4 分层存储 54

2.5 小结 57

第3章 与Pulsar 交互 58

3.1 开始使用Pulsar 58

3.2 管理Pulsar 59

3.2.1 创建租户、名字空间和主题 60

3.2.2 Java API 61

3.3 Pulsar 客户端 62

3.3.1 Pulsar Java客户端 64

3.3.2 Pulsar Python客户端 71

3.3.3 Pulsar Go客户端 74

3.4 高级管理 78

3.4.1 持久化主题指标 78

3.4.2 检视消息 80

3.5 小结 81

第二部分 Apache Pulsar开发基础

第4章 Pulsar Functions 84

4.1 流处理 84

4.1.1 传统批处理 84

4.1.2 微批处理 85

4.1.3 流原生处理 85

4.2 什么是Pulsar Functions 86

4.3 编写Pulsar 函数 87

4.3.1 语言原生函数 87

4.3.2 Pulsar Functions SDK 88

4.3.3 有状态函数 93

4.4 测试Pulsar函数 95

4.4.1 单元测试 96

4.4.2 集成测试 97

4.5 部署Pulsar 函数 102

4.5.1 生成部署artifact 102

4.5.2 函数配置 104

4.5.3 函数部署 107

4.5.4 函数部署生命周期 109

4.5.5 部署模式 109

4.5.6 Pulsar函数数据流 110

4.6 小结 111

第5章 Pulsar IO连接器 112

5.1 什么是Pulsar IO连接器 112

5.1.1 sink连接器 113

5.1.2 source连接器 115

5.1.3 PushSource连接器 116

5.2 开发Pulsar IO 连接器 118

5.2.1 开发sink 连接器 118

5.2.2 开发PushSource连接器 120

5.3 测试Pulsar IO连接器 122

5.3.1 单元测试 123

5.3.2 集成测试 124

5.3.3 打包Pulsar IO连接器 126

5.4 部署Pulsar IO连接器 127

5.4.1 创建连接器 128

5.4.2 调试已部署的连接器 129

5.5 Pulsar的内建连接器 131

5.5.1 启动MongoDB集群 132

5.5.2 连接Pulsar容器和MongoDB容器 132

5.5.3 配置和创建MongoDB sink连接器 133

5.6 管理Pulsar IO连接器 135

5.6.1 显示连接器 135

5.6.2 监控连接器 136

5.7 小结 138

第6章 Pulsar安全 139

6.1 传输加密 139

6.2 认证 146

6.2.1 TLS认证 146

6.2.2 JWT认证 151

6.3 授权 155

6.3.1 角色 155

6.3.2 应用场景举例 157

6.4 消息加密 162

6.5 小结 165

第7章 schema registry 166

7.1 微服务通信 166

7.1.1 微服务API 167

7.1.2 schema registry的必要性 169

7.2 schema registry详解 169

7.2.1 架构 169

7.2.2 schema版本 172

7.2.3 schema兼容性 172

7.2.4 schema兼容性检查策略 174

7.3 使用schema registry 178

7.3.1 使用Avro 建模外卖订单事件 179

7.3.2 发布外卖订单事件 182

7.3.3 消费外卖订单事件 183

7.3.4 完整示例 185

7.4 schema的演变 187

7.5 小结 189

第三部分 使用Apache Pulsar开发应用程序

第8章 Pulsar Functions模式 192

8.1 数据管道 192

8.1.1 过程式编程 193

8.1.2 数据流编程 193

8.2 消息路由模式 195

8.2.1 分割器模式 195

8.2.2 动态路由器模式 198

8.2.3 基于内容的路由器模式 201

8.3 消息转换模式 203

8.3.1 消息翻译器模式 203

8.3.2 内容增强器模式 206

8.3.3 内容过滤器模式 207

8.4 小结 208

第9章 弹性模式 209

9.1 Pulsar Functions的弹性 210

9.1.1 不利事件 210

9.1.2 故障检测 213

9.2 弹性设计模式 214

9.2.1 重试模式 215

9.2.2 断路器模式 218

9.2.3 速率限制器模式 222

9.2.4 时间限制器模式 224

9.2.5 缓存模式 227

9.2.6 回退模式 228

9.2.7 凭证刷新模式 230

9.3 多层弹性 232

9.4 小结 234

第 10章 数据访问 235

10.1 数据源 235

10.2 数据访问用例236

10.2.1 设备验证 237

10.2.2 外卖骑手位置数据集245

10.3 小结 251

第 11章 Pulsar 与机器学习252

11.1 部署机器学习模型 252

11.1.1 批处理模式 252

11.1.2 近实时处理模式253

11.2 近实时模型部署 253

11.3 特征向量 255

11.3.1 特征存储 255

11.3.2 特征计算256

11.4 预估送餐时间 257

11.4.1 导出机器学习模型 257

11.4.2 特征向量映射 259

11.4.3 部署机器学习模型61

11.5 神经网络263

11.5.1 训练神经网络264

11.5.2 用Java部署神经网络 265

11.6 小结 266

第 12章 边缘分析 267

12.1 IIoT架构 269

12.1.1 感知与反应层 269

12.1.2 传输层 270

12.1.3 数据处理层 270

12.2 基于Pulsar的数据处理层 270

12.3 边缘分析概览 272

12.3.1 遥测数据 273

12.3.2 单变量与多变量 274

12.4 单变量数据分析 274

12.4.1 降噪 275

12.4.2 统计分析 277

12.4.3 近似估计 280

12.5 多变量数据分析 282

12.5.1 创建双向消息网格 282

12.5.2 构造多变量数据集286

12.6 本书之外 290

12.7 小结 291

附录A 在Kubernetes中运行Pulsar 292

附录B 跨地域复制 303
展开全部

作者简介

[美]戴维·克杰鲁姆加德(David Kjerrumgaard),Apache Pulsar Committer,就职于Pulsar背后的公司StreamNative,专注于为开发人员提供Pulsar解决方案。他在流处理领域独树一帜,也是Pulsar社区的活跃分子。译者简介 吕能,先后毕业于浙江大学和加州大学洛杉矶分校,StreamNative技术主管、Apache Pulsar Committer,专注于Pulsar Functions、分布式计算及企业云服务,主导了公司云原生实时计算产品的开发及相关开源社区生态的构建;曾担任Twitter工程师,参与研发了实时计算框架Heron。蔡正昕,软件工程师,曾就职于Amazon、StreamNative等公司,从事数据处理系统和云服务控制面的开发;2019年开始关注Pulsar社区并参与讨论、漏洞修复和特性开发。对Pulsar、BookKeeper及在Kubernetes环境中运维有状态系统有比较深入的理解。孟焕丽,Apache Pulsar Committer、兰州理工大学硕士,目前就职于一家初创公司,从事技术文档写作,对开源社区和新技术有强烈的探索欲。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航