商品簡介
本書由淺入深地講解了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章介紹在線實戰的一些經驗,包括高可用、擴/縮容、資源隔離等。
作者簡介
林琳,騰訊專家工程師,Apache Pulsar Committer & PMC,著有《深入理解Apache Dubbo原理與實戰》,先後就職於螞蟻金服、騰訊等公司。開源與中間件愛好者,常年混跡在開源社區,喜歡研究各種中間件的源碼與設計思想,專注於中間件領域,在消息隊列、微服務等方面有豐富的經驗,致力於打造穩定、高效、可擴展的底層基礎組件或服務。
名人/編輯推薦
1. 適用範圍廣
本書對Pulsar的每個功能點都先做簡介與使用說明,然後進行原理級別的剖析,因此適用範圍較廣。對於不想深入理解Pulsar內部原理,只想先了解並使用Pulsar的讀者,可以閱讀前面的章節以快速了解Pulsar。如果讀者後續需要對Pulsar進行二次開發,或者想深入了解源碼,則可以閱讀後面的原理章節。在對流程、實現思路有了了解之後,閱讀源碼的門檻就會低得多。
2. 代碼量少
本書中基本沒有大段的代碼,書中的源碼也非常簡短。本書主要以圖和文字的方式對概念和原理進行描述,力求讓讀者快速理解Pulsar。
序
寫作目的
2018年9月,Apache Pulsar(簡稱Pulsar)從Apache畢業,雖然才出現短短幾年,但由於其天生適配云原生環境的能力,已經受到了廣泛的關注,Pulsar社區的熱度也在不斷提升。Pulsar不僅增加了許多新特性,在穩定性等方面也不斷提升。在本書定稿時,Pulsar 2.8.1已經成為Release版本,騰訊基於Pulsar構建的TDMQ也開始大規模應用,這些都標志著Pulsar已經褪去了最初的青澀,開始在各行各業大放異彩。
由於Pulsar近幾年才在國內興起,所以相關的中文資料較少。雖然有TGIP、Pulsar公眾號、Pulsar技術群,官網的文檔也開始不斷地完善,網上也有一些Pulsar文章,但許多知識點都非常碎片化,而且網上很多觀點其實是錯誤的。另外,官網的文檔都是英文的,即使切換到中文,對於專業性較強的術語,Google的翻譯結果也比較難以讓人理解。筆者一直奉行體系化的學習,因此對Pulsar做了全面的梳理。筆者還記得剛接觸Pulsar時,國內沒有任何Pulsar相關的資料,Pulsar官網也只有幾頁英文文檔。為了讓更多的開發者了解Pulsar,降低Pulsar的使用和開發門檻,也算是對自己這段時間工作的總結,筆者編寫了本書。
讀者物件
Ÿ 想了解和使用Pulsar的初級用戶。本書詳細介紹了Pulsar的各個功能點,以及各個功能點的實現原理。
Ÿ 想二次開發、參與Pulsar社區建設的用戶。通過閱讀每個功能點的原理部分,可以了解代碼的運行邏輯及總體架構,在後續閱讀源碼或者二次開發時可以做到心中有數。
本書內容
本書共6章,第1章主要介紹Pulsar的一些背景知識,並初步上手Pulsar,講解了代碼目錄結構、Pulsar部署,等等。第2章主要介紹Pulsar的客戶端,包括生產者(Producer)客戶端和消費者(Consumer)客戶端,它們是請求的發起者,其中還會介紹Pulsar中最重要的概念Topic。第3章主要介紹Pulsar的核心組件Broker,從Broker的啟動開始,剖析Broker中幾乎所有重要的功能點。第4章主要介紹Pulsar Function和Pulsar IO,這些能力通常被應用在輕量級計算和流式計算中。第5章主要介紹Pulsar的存儲層BookKeeper,包括寫入、讀取、數據自動恢復的實現。第6章屬於實戰篇,介紹日常業務中一些架構上的高級特性,比如跨地域復制、動態擴/縮容等。
勘誤和支持
筆者編寫本書用了近一年的時間,其間Pulsar一直在迅速發展,代碼與機制在不斷變化,書中可能存在部分內容與最新代碼不一致的情況。另外,Pulsar的代碼接近70萬行,社區發展非常迅速,每天都有多個PR被合並,不斷有新的特性被加入,筆者能力有限,也無法保證對所有代碼的理解都準確無誤。因此,若讀者在閱讀本書的過程中發現有任何問題或者錯誤,可以發送勘誤到筆者的郵箱:linlin@apache.org。
源代碼與官方參考
讀者可以直接訪問Pulsar的GitHub倉庫獲取本書配套的源碼。
Pulsar官網也有很多文檔,特別是API相關的文檔。
如果讀者想咨詢或討論Pulsar相關的問題,歡迎來筆者的知識星球(Pulsar星球,ID為50221503)一起交流。
林琳
主題書展
更多書展今日66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。