Apache Pulsar实战 计算机编程语言精通Apache Pulsar软件开发程序设计书籍
¥82.40
运费: | ¥ 0.00-20.00 |
商品详情
书名:Apache Pulsar实战
定价:109.8
ISBN:9787115636362
作者:[美]戴维·克杰鲁姆加德(David Kjerrumgaard)
版次:第1版
出版时间:2024-02
内容提要:
Apache Pulsar被誉为下一代分布式消息系统,旨在打通发布/ 订阅式消息传递和流数据分析。本书作者既与Pulsar项目创始成员共事多年,又有在生产环境中使用Pulsar 的丰富经验。正是这些宝贵的经验成*了这本Pulsar“避坑指南”,为想轻松上手Pulsar的读者铺平了学习之路。本书分为三大部分,共有12章。*部分概述Pulsar的设计理念和用途。*部分介绍Pulsar的特性。第三部分以一个虚构的外卖应用程序为例,详细地介绍Pulsar Functions框架的用法,并展示如何用它实现常见的微服务设计模式。本书示例采用Java语言,并同时提供Python实现。
作者简介:
[美]戴维·克杰鲁姆加德(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、兰州理工大学硕士,目前*职于一家初创公司,从事技术文档写作,对开源社区和新技术有强烈的探索欲。
目录:
第 一部分 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
定价:109.8
ISBN:9787115636362
作者:[美]戴维·克杰鲁姆加德(David Kjerrumgaard)
版次:第1版
出版时间:2024-02
内容提要:
Apache Pulsar被誉为下一代分布式消息系统,旨在打通发布/ 订阅式消息传递和流数据分析。本书作者既与Pulsar项目创始成员共事多年,又有在生产环境中使用Pulsar 的丰富经验。正是这些宝贵的经验成*了这本Pulsar“避坑指南”,为想轻松上手Pulsar的读者铺平了学习之路。本书分为三大部分,共有12章。*部分概述Pulsar的设计理念和用途。*部分介绍Pulsar的特性。第三部分以一个虚构的外卖应用程序为例,详细地介绍Pulsar Functions框架的用法,并展示如何用它实现常见的微服务设计模式。本书示例采用Java语言,并同时提供Python实现。
作者简介:
[美]戴维·克杰鲁姆加德(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、兰州理工大学硕士,目前*职于一家初创公司,从事技术文档写作,对开源社区和新技术有强烈的探索欲。
目录:
第 一部分 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
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...