Apache Pulsar實戰 Apache Pulsar in Action
[美]戴維·克傑魯姆加德(David Kjerrumgaard)
- 出版商: 人民郵電
- 出版日期: 2024-02-01
- 定價: $659
- 售價: 8.0 折 $527
- 語言: 簡體中文
- 頁數: 312
- 裝訂: 平裝
- ISBN: 7115636362
- ISBN-13: 9787115636362
- 此書翻譯自: Apache Pulsar in Action
立即出貨
買這商品的人也買了...
-
$301Selenium WebDriver 實戰寶典
-
$360$281 -
$403深度學習原理與TensorFlow實踐
-
$480$379 -
$354$336 -
$301混沌工程實戰 手把手教你實現系統穩定性
-
$600$468 -
$560全棧性能測試修煉寶典 JMeter 實戰, 2/e
-
$654$621 -
$414$393 -
$1,200$948 -
$621使用 GitOps 實現 Kubernetes 的持續部署:模式、流程及工具
-
$654$621 -
$653機器學習項目交付實戰
-
$714$678 -
$1,200$948 -
$594$564 -
$539$512 -
$490$387 -
$774$735 -
$419$398 -
$800$600 -
$534$507 -
$780$616 -
$654$621
相關主題
商品描述
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