深入解析Apache Pulsar 版權(quán)信息
- ISBN:9787121422331
- 條形碼:9787121422331 ; 978-7-121-42233-1
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
深入解析Apache Pulsar 本書特色
1. 適用范圍廣
本書對Pulsar的每個(gè)功能點(diǎn)都先做簡介與使用說明,然后進(jìn)行原理級別的剖析,因此適用范圍較廣。對于不想深入理解Pulsar內(nèi)部原理,只想先了解并使用Pulsar的讀者,可以閱讀前面的章節(jié)以快速了解Pulsar。如果讀者后續(xù)需要對Pulsar進(jìn)行二次開發(fā),或者想深入了解源碼,則可以閱讀后面的原理章節(jié)。在對流程、實(shí)現(xiàn)思路有了了解之后,閱讀源碼的門檻就會(huì)低得多。
2. 代碼量少
本書中基本沒有大段的代碼,書中的源碼也非常簡短。本書主要以圖和文字的方式對概念和原理進(jìn)行描述,力求讓讀者快速理解Pulsar。
深入解析Apache Pulsar 內(nèi)容簡介
本書由淺入深地講解了Apache Pulsar中各個(gè)組件的使用方式及內(nèi)部實(shí)現(xiàn)原理,通過閱讀本書,讀者可以快速、輕松地了解Apache Pulsar內(nèi)部的運(yùn)行機(jī)制。章介紹Apache Pulsar的背景,以及如何快速部署一個(gè)Apache Pulsar服務(wù)。第2章介紹Apache Pulsar客戶端的實(shí)現(xiàn)機(jī)制與原理,包括生產(chǎn)者、消費(fèi)者、管理流客戶端等。第3章介紹Apache Pulsar中很重要的邏輯組件—Broker,讀者通過這部分內(nèi)容可以了解Broker所有的特性。除了很基礎(chǔ)的收發(fā)消息,Apache Pulsar還能進(jìn)行輕量級的函數(shù)計(jì)算、數(shù)據(jù)流轉(zhuǎn)。第4章詳細(xì)介紹Apache Pulsar的Function和Pulsar IO (Connector)。第5章介紹Apache Pulsar的存儲(chǔ)層—BookKeeper,通過本章的學(xué)習(xí),讀者可以了解Apache Pulsar的數(shù)據(jù)存儲(chǔ)模型及流程實(shí)現(xiàn)。第6章介紹線上實(shí)戰(zhàn)的一些經(jīng)驗(yàn),包括高可用、擴(kuò)/縮容、資源隔離等。
深入解析Apache Pulsar 目錄
目錄
第1章 認(rèn)識(shí)Pulsar 1
1.1 Pulsar的背景 1
1.2 Pulsar總體介紹 5
1.3 **個(gè)Pulsar程序 7
1.3.1 環(huán)境的準(zhǔn)備 7
1.3.2 下載Pulsar 7
1.3.3 Pulsar的目錄結(jié)構(gòu) 9
1.3.4 部署Pulsar 12
1.4 小結(jié) 18
第2章 客戶端 19
2.1 名詞介紹 19
2.2 Topic 20
2.2.1 Topic簡介 20
2.2.2 Topic的創(chuàng)建與刪除 23
2.2.3 Topic的歸屬 26
2.2.4 Topic的遷移 29
2.2.5 可壓縮Topic 33
2.3 Pulsar客戶端 36
2.3.1 不同的客戶端 37
2.3.2 創(chuàng)建管理流客戶端的流程 38
2.3.3 創(chuàng)建數(shù)據(jù)流客戶端的流程 41
2.4 生產(chǎn)者客戶端 43
2.4.1 生產(chǎn)者客戶端簡介 43
2.4.2 生產(chǎn)者原理解析 48
2.5 消費(fèi)者客戶端 56
2.5.1 消費(fèi)者客戶端簡介 56
2.5.2 創(chuàng)建ConsumerImpl 64
2.5.3 接收消息 65
2.5.4 確認(rèn)消息 67
2.5.5 MultiTopicsConsumerImpl 75
2.5.6 ZeroQueueConsumerImpl 77
2.5.7 PatternMultiTopicsConsumerImpl 77
2.5.8 Consumer的其他接口 78
2.6 Reader 79
2.6.1 創(chuàng)建ReaderImpl 80
2.6.2 Reader的實(shí)現(xiàn)原理 81
2.7 客戶端其他能力 82
2.7.1 連接管理與線程池管理 82
2.7.2 LookupService 88
2.7.3 MemoryLimitController 90
2.8 小結(jié) 91
第3章 Broker 92
3.1 Broker簡介 92
3.1.1 Broker的啟動(dòng)流程 93
3.1.2 Broker的生產(chǎn)消費(fèi)流程 96
3.2 Schema 99
3.2.1 Schema簡介 99
3.2.2 Schema的類型 101
3.2.3 Schema的管理 105
3.2.4 Schema的版本與兼容性 108
3.2.5 Schema的實(shí)現(xiàn) 110
3.3 安全機(jī)制 112
3.3.1 認(rèn)證授權(quán)簡介 113
3.3.2 認(rèn)證授權(quán)框架 114
3.3.3 默認(rèn)的認(rèn)證插件 117
3.3.4 端到端加密 131
3.4 配置與策略 134
3.4.1 配置的加載 135
3.4.2 動(dòng)態(tài)配置的實(shí)現(xiàn) 135
3.4.3 Namespace策略 137
3.4.4 Topic策略 139
3.4.5 策略的實(shí)現(xiàn) 144
3.5 元數(shù)據(jù)管理 145
3.5.1 元數(shù)據(jù)簡介 145
3.5.2 元數(shù)據(jù)的緩存 148
3.5.3 元數(shù)據(jù)的線程安全 150
3.5.4 Session檢測 151
3.6 存儲(chǔ)管理 153
3.6.1 存儲(chǔ)模型 153
3.6.2 存儲(chǔ)流程 156
3.6.3 游標(biāo) 160
3.6.4 消息回溯的實(shí)現(xiàn) 171
3.6.5 數(shù)據(jù)的清理 172
3.6.6 BacklogSize與StorageSize 176
3.7 分層存儲(chǔ) 177
3.7.1 分層存儲(chǔ)的使用 178
3.7.2 數(shù)據(jù)的卸載與加載 179
3.8 擴(kuò)展點(diǎn) 181
3.8.1 擴(kuò)展點(diǎn)簡介 181
3.8.2 ProtocolHandler擴(kuò)展點(diǎn) 183
3.8.3 BrokerInterceptor 184
3.8.4 其他擴(kuò)展點(diǎn) 186
3.9 負(fù)載管理 188
3.9.1 負(fù)載管理簡介 188
3.9.2 負(fù)載的上報(bào) 190
3.9.3 負(fù)載策略 194
3.9.4 Bundle的自動(dòng)分裂 196
3.9.5 Leader選舉與Broker分配 197
3.10 管理流服務(wù) 198
3.10.1 管理流服務(wù)簡介 199
3.10.2 REST接口的重定向 201
3.10.3 WebSocket 202
3.11 消息去重 203
3.12 事務(wù)消息 205
3.12.1 事務(wù)簡介 206
3.12.2 事務(wù)流程 208
3.12.3 事務(wù)的實(shí)現(xiàn) 210
3.13 Dispatcher 214
3.13.1 Dispatcher流程 215
3.13.2 Dispatcher的實(shí)現(xiàn)原理 217
3.14 小結(jié) 219
第4章 Function與Pulsar IO 221
4.1 Function簡介 222
4.2 Function的使用 224
4.3 Function的架構(gòu) 230
4.4 Function的實(shí)現(xiàn)原理 233
4.4.1 服務(wù)的啟動(dòng) 233
4.4.2 LeaderService的實(shí)現(xiàn) 234
4.4.3 MembershipManager與SchedulerManager的實(shí)現(xiàn) 235
4.4.4 FunctionAssignmentTailer的實(shí)現(xiàn) 236
4.4.5 FunctionMetaDataManager的實(shí)現(xiàn) 236
4.4.6 FunctionRuntimeManager的實(shí)現(xiàn) 237
4.5 Runtime的實(shí)現(xiàn) 240
4.5.1 ThreadRuntime的實(shí)現(xiàn) 240
4.5.2 ProcessRuntime的實(shí)現(xiàn) 242
4.5.3 KubernetesRuntime的實(shí)現(xiàn) 243
4.6 Pulsar IO簡介 244
4.7 部署Connector 245
4.8 開發(fā)Connector 247
4.9 Pulsar IO的實(shí)現(xiàn) 249
4.10 小結(jié) 249
第5章 BookKeeper存儲(chǔ) 251
5.1 項(xiàng)目結(jié)構(gòu) 251
5.2 存儲(chǔ)簡介 252
5.3 數(shù)據(jù)寫入的實(shí)現(xiàn) 255
5.4 數(shù)據(jù)讀取的實(shí)現(xiàn) 259
5.5 自愈能力 260
5.6 小結(jié) 263
第6章 實(shí)戰(zhàn)Pulsar 264
6.1 高可用 264
6.1.1 跨區(qū)域感知 266
6.1.2 跨地域復(fù)制 271
6.1.3 跨地域復(fù)制的使用 277
6.1.4 跨地域復(fù)制的實(shí)現(xiàn) 280
6.2 擴(kuò)/縮容 284
6.3 資源隔離 287
6.3.1 資源隔離的使用 287
6.3.2 資源隔離的實(shí)現(xiàn) 290
6.4 小結(jié) 291
展開全部
深入解析Apache Pulsar 作者簡介
林琳,騰訊專家工程師,Apache Pulsar Committer & PMC,著有《深入理解Apache Dubbo原理與實(shí)戰(zhàn)》,先后就職于螞蟻金服、騰訊等公司。開源與中間件愛好者,常年混跡在開源社區(qū),喜歡研究各種中間件的源碼與設(shè)計(jì)思想,專注于中間件領(lǐng)域,在消息隊(duì)列、微服務(wù)等方面有豐富的經(jīng)驗(yàn),致力于打造穩(wěn)定、高效、可擴(kuò)展的底層基礎(chǔ)組件或服務(wù)。