作 者:楊國棟 著
定 價:99
出 版 社:機械工業出版社
出版日期:2023年05月01日
頁 數:252
裝 幀:平裝
ISBN:9787111726081
騰訊軟件工程師、Apache Pulsar社區貢獻者親自執筆。本書基於Apache Pulsar 2.10,從實踐、原理兩個層面對Pulsar的使用、組件、架構、特性和生態進行深入解讀,為了幫助讀者快速上手,其中不僅包含大量案例,還有很多直接指導讀者上手的經驗和技巧。因為其實用性強,所以得到了很多業界專家的推薦。
●前言
基礎篇
第1章 Pulsar概述 2
1.1 Pulsar是什麼 2
1.2 Pulsar的優勢 3
1.2.1 Pulsar不隻是消息隊列 4
1.2.2 存儲與計算分離 4
1.2.3 雲原生架構 5
1.2.4 Pulsar的存儲特性 6
1.2.5 消息傳輸協議 8
1.2.6 消費方式 8
1.2.7 豐富的功能與生態 9
1.3 消息隊列對比 9
1.3.1 消息隊列簡介 10
1.3.2 性能與可靠性 11
1.3.3 功能特性對比 14
1.4 快速體驗 17
1.4.1 下載安裝 17
1.4.2 單機服務啟動 17
1.4.3 生產與消費 18
第2章 Pulsar的基本概念和架構詳解 20
2.1 Pulsar的基本概念 20
2.1.1 多租戶與命名空間 20
2.1.2 主題 21
2.1.3 生產者 22
2.1.4 消費者與訂閱 24
2.1.5 消息的保留與過期 27
2.2 Pulsar的邏輯架構 28
2.2.1 主題的配置管理 29
2.2.2 主題的數據流轉 30
2.2.3 主題的數據存儲 31
2.3 Pulsar物理架構 32
2.3.1 物理架構概述 32
2.3.2 核心組件與服務 35
第3章 Pulsar安裝與部署 39
3.1 依賴環境 39
3.1.1 安裝Java 39
3.1.2 Pulsar安裝包 40
3.2 分布式部署 42
3.2.1 資源分配規劃 42
3.2.2 集群搭建實戰 44
3.3 Docker部署 47
3.3.1 Docker單機部署 47
3.3.2 Docker分布式部署 48
3.4 Kubernetes部署 48
3.4.1 minikube環境安裝 48
3.4.2 HelmChart安裝 49
3.4.3 在Kubernetes中使用Pulsar 51
3.5 源碼的結構與編譯 52
3.5.1 源碼結構 52
3.5.2 源碼編譯 52
第4章 Pulsar的基本操作 54
4.1 生產者開發 54
4.1.1 生產者概覽 54
4.1.2 構建客戶端對像 56
4.1.3 構建生產者 58
4.1.4 數據發送路由規則 60
4.1.5 分批發送 63
4.1.6 分塊發送 64
4.1.7 生產者 64
4.2 消費者開發 65
4.2.1 構建消費者 65
4.2.2 數據確認 68
4.2.3 消費者 72
4.2.4 消費者監聽器 72
4.3 Reader開發 73
4.4 模式管理 74
4.4.1 模式類型 75
4.4.2 自動模式 78
4.4.3 模式管理 79
原理篇
第5章 Pulsar核心組件原理 84
5.1 Broker原理 84
5.1.1 通信協議層 84
5.1.2 主題查找服務 89
5.1.3 租戶與命名空間管理 90
5.1.4 負載管理 92
5.2 BookKeeper原理 94
5.2.1 BookKeeper簡介 94
5.2.2 BookKeeper的使用 100
5.3 ManagedLedger組件 100
5.3.1 ManagedLedger簡介 101
5.3.2 消息積壓的配額管理 102
5.3.3 消息的保留與清理 103
5.3.4 消息的寫入 104
5.3.5 消息的緩存與讀取 104
5.4 主題管理 105
5.4.1 Pulsar主題管理架構 106
5.4.2 生產者原理 108
5.4.3 訂閱與消費者原理 110
5.4.4 消息生存時間與持久化控制 114
第6章 Pulsar高級特性 115
6.1 Pulsar事務 115
6.1.1 消息隊列事務隔離級別 116
6.1.2 Pulsar事務簡介 117
6.1.3 Pulsar事務的使用方法 118
6.1.4 Pulsar事務實現原理及關鍵流程 119
6.2 消息隊列協議層 122
6.2.1 協議處理器 122
6.2.2 Pulsar上的Kafka簡介 125
6.2.3 Pulsar上的Kafka使用 126
6.2.4 Pulsar上的Kafka工作原理 128
6.3 分層存儲 130
6.3.1 分層存儲的設計 130
6.3.2 分層存儲的使用 131
6.3.3 分層存儲的原理 133
6.4 消息延遲傳遞 133
6.5 主題壓縮 134
6.5.1 主題壓縮應用 135
6.5.2 主題壓縮原理 135
第7章 PulsarFunction與PulsarI/O 137
7.1 PulsarFunction簡介 137
7.1.1 PulsarFunction編程模型 137
7.1.2 PulsarFunction邏輯結構與應用場景 140
7.2 PulsarFunction應用實踐 141
7.2.1 PulsarFunction的部署與使用 141
7.2.2 自定義PulsarFunction開發 146
7.2.3 PulsarFunction語義支持 148
7.3 PulsarFunction原理 150
7.3.1 PulsarFunction運行流程 150
7.3.2 FunctionWorker組件工作原理 152
7.3.3 Pulsar運行時 153
7.4 PulsarI/O 154
7.4.1 PulsarI/O概述 154
7.4.2 使用內置的Pulsar連接器 155
7.4.3 開發自定義連接器 156
7.4.4 實例層原理 160
應用篇
第8章 PulsarSQL架構、配置與實現原理 164
8.1 Trino簡介 164
8.1.1 Trino架構簡介 165
8.1.2 存儲與計算分離 168
8.2 PulsarSQL配置 169
8.2.1 單機體驗PulsarSQL 169
8.2.2 數據查詢 170
8.3 Pulsar連接器工作原理 171
8.4 Pulsar聯邦查詢 172
8.4.1 準備數據源 173
8.4.2 聯邦查詢 175
第9章 管理你的Pulsar 176
9.1 Pulsar安全配置 176
9.1.1 數據加密 176
9.1.2 授權與認證 180
9.1.3 自定義權限插件 186
9.2 Pulsar監控配置 189
9.2.1 Pulsar監控概述 189
9.2.2 Prometheus部署 190
9.2.3 Grafana儀表盤配置 191
9.3 Pulsar管理工具 192
9.3.1 pulsar-admin工具 192
9.3.2 PulsarManager工具 196
9.3.3 性能壓測工具 197
9.3.4 ManagedLedger管理 199
9.4 集群管理 201
9.4.1 配置管理 201
9.4.2 Pulsar資源配置 203
第10章 Pulsar與Flink生態 206
10.1 Flink簡介 207
10.1.1 Flink的概念 207
10.1.2 Flink基本組件 212
10.2 FlinkPulsar源連接器 214
10.2.1 源連接器的使用 214
10.2.2 源連接器原理 218
10.3 FlinkPulsar輸出連接器 220
10.3.1 統一接收器API 221
10.3.2 FlinkPulsarSinkAPI的使用 221
10.3.3 PulsarSink原理 223
第11章 Pulsar應用實踐 224
11.1 Pulsar應用模式 224
11.1.1 Pulsar數據總線概述 224
11.1.2 Pulsar數據集成 226
11.2 Pulsar與Spark集成 230
11.3 Pulsar與Kafka集成 231
11.3.1 Kafka客戶端適配器 231
11.3.2 PulsarI/OKafka 233
11.3.3 PulsarConnector適配器 234
11.4 PulsarCDC 236
11.4.1 PulsarCanalCDC 236
11.4.2 PulsarDebeziumCDC 238
11.5 可靠性優先場景 239
11.5.1 冪等性、消息確認與事務 239
11.5.2 可靠性與一致性 240
這是一本從實踐角度解讀Apache Pulsar相關組件、工作原理和落地實踐的專業指導書。本書主要面向的是初中級讀者,從基礎概念講起,逐漸擴展到基本操作、核心技術、常用工具及典型應用等。