预购商品
书目分类
特别推荐
本書由淺入深地講解了Apache Pulsar中各個元件的使用方式及內部實現原理,通過閱讀本書,讀者可以快速、輕鬆地瞭解Apache Pulsar內部的運行機制。 第1章介紹Apache Pulsar的背景,以及如何快速部署一個Apache Pulsar服務。第2章介紹Apache Pulsar用戶端的實現機制與原理,包括生產者、消費者、管理流用戶端等。第3章介紹Apache Pulsar中最重要的邏輯元件—Broker,讀者通過這部分內容可以瞭解Broker所有的特性。除了最基礎的收發消息,Apache Pulsar還能進行羽量級的函數計算、數據流程轉。第4章詳細介紹Apache Pulsar的Function和Pulsar IO (Connector)。第5章介紹Apache Pulsar的存儲層—BookKeeper,通過對本章的學習,讀者可以瞭解Apache Pulsar的資料存儲模型及流程實現。第6章介紹線上實戰的一些經驗,包括高可用、擴/縮容、資源隔離等。
第1章 認識Pulsar 1 1.1 Pulsar的背景 1 1.2 Pulsar總體介紹 5 1.3 個Pulsar程式 7 1.3.1 環境的準備 7 1.3.2 下載Pulsar 7 1.3.3 Pulsar的目錄結構 9 1.3.4 部署Pulsar 12 1.4 小結 18 第2章 用戶端 19 2.1 名詞介紹 19 2.2 Topic 20 2.2.1 Topic簡介 20 2.2.2 Topic的創建與刪除 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 創建管理流用戶端的流程 38 2.3.3 創建資料流程用戶端的流程 41 2.4 生產者用戶端 43 2.4.1 生產者用戶端簡介 43 2.4.2 生產者原理解析 48 2.5 消費者用戶端 56 2.5.1 消費者用戶端簡介 56 2.5.2 創建ConsumerImpl 64 2.5.3 接收消息 65 2.5.4 確認消息 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 創建ReaderImpl 80 2.6.2 Reader的實現原理 81 2.7 用戶端其他能力 82 2.7.1 連接管理與執行緒池管理 82 2.7.2 LookupService 88 2.7.3 MemoryLimitController 90 2.8 小結 91 第3章 Broker 92 3.1 Broker簡介 92 3.1.1 Broker的啟動流程 93 3.1.2 Broker的生產消費流程 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的實現 110 3.3 安全機制 112 3.3.1 認證授權簡介 113 3.3.2 認證授權框架 114 3.3.3 默認的認證外掛程式 117 3.3.4 端到端加密 131 3.4 配置與策略 134 3.4.1 配置的載入 135 3.4.2 動態配置的實現 135 3.4.3 Namespace策略 137 3.4.4 Topic策略 139 3.4.5 策略的實現 144 3.5 中繼資料管理 145 3.5.1 中繼資料簡介 145 3.5.2 中繼資料的緩存 148 3.5.3 中繼資料的執行緒安全 150 3.5.4 Session檢測 151 3.6 存儲管理 153 3.6.1 存儲模型 153 3.6.2 存儲流程 156 3.6.3 游標 160 3.6.4 消息回溯的實現 171 3.6.5 資料的清理 172 3.6.6 BacklogSize與StorageSize 176 3.7 分層存儲 177 3.7.1 分層存儲的使用 178 3.7.2 數據的卸載與載入 179 3.8 擴展點 181 3.8.1 擴展點簡介 181 3.8.2 ProtocolHandler擴展點 183 3.8.3 BrokerInterceptor 184 3.8.4 其他擴展點 186 3.9 負載管理 188 3.9.1 負載管理簡介 188 3.9.2 負載的上報 190 3.9.3 負載策略 194 3.9.4 Bundle的自動分裂 196 3.9.5 Leader選舉與Broker分配 197 3.10 管理流服務 198 3.10.1 管理流服務簡介 199 3.10.2 REST介面的重定向 201 3.10.3 WebSocket 202 3.11 消息去重 203 3.12 事務消息 205 3.12.1 事務簡介 206 3.12.2 事務流程 208 3.12.3 事務的實現 210 3.13 Dispatcher 214 3.13.1 Dispatcher流程 215 3.13.2 Dispatcher的實現原理 217 3.14 小結 219 第4章 Function與Pulsar IO 221 4.1 Function簡介 222 4.2 Function的使用 224 4.3 Function的架構 230 4.4 Function的實現原理 233 4.4.1 服務的啟動 233 4.4.2 LeaderService的實現 234 4.4.3 MembershipManager與SchedulerManager的實現 235 4.4.4 FunctionAssignmentTailer的實現 236 4.4.5 FunctionMetaDataManager的實現 236 4.4.6 FunctionRuntimeManager的實現 237 4.5 Runtime的實現 240 4.5.1 ThreadRuntime的實現 240 4.5.2 ProcessRuntime的實現 242 4.5.3 KubernetesRuntime的實現 243 4.6 Pulsar IO簡介 244 4.7 部署Connector 245 4.8 開發Connector 247 4.9 Pulsar IO的實現 249 4.10 小結 249 第5章 BookKeeper存儲 251 5.1 專案結構 251 5.2 存儲簡介 252 5.3 資料寫入的實現 255 5.4 資料讀取的實現 259 5.5 自愈能力 260 5.6 小結 263 第6章 實戰Pulsar 264 6.1 高可用 264 6.1.1 跨區域感知 266 6.1.2 跨地域複製 271 6.1.3 跨地域複製的使用 277 6.1.4 跨地域複製的實現 280 6.2 擴/縮容 284 6.3 資源隔離 287 6.3.1 資源隔離的使用 287 6.3.2 資源隔離的實現 290 6.4 小結 291
林琳,騰訊專家工程師,Apache Pulsar Committer & PMC,著有《深入理解Apache Dubbo原理與實戰》,先後就職于螞蟻金服、騰訊等公司。開源與中介軟體愛好者,常年混跡在開源社區,喜歡研究各種中介軟體的源碼與設計思想,專注於中介軟體領域,在訊息佇列、微服務等方面有豐富的經驗,致力於打造穩定、高效、可擴展的底層基礎元件或服務。
客服公告
热门活动
订阅电子报