讀書 | I heart Logs

讀書 | I heart Logs

來自專欄 Cuoco 的小馬甲叔叔1 人贊了文章

這是一本不到 60 頁的小冊子,它的作者 Jay Kreps 可謂大名鼎鼎,他是 Kafka、Samza、Voldemort 等多個開源項目的最初作者,目前是 Confluent 的聯合創始人兼 CEO,所以不要因為頁數少而輕視它。

這書實際由 Jay Kreps 的一系列博文整理而成,博文有中文版,當然了,本書出版於 2014 年,其中的很多觀點在當時是非常超前的,但 4 年後的今天,很多內容已經早已為大家熟知。

回到書的內容,本書主要講述以日誌為中心的系統設計,這些系統包括數據集成、流式處理等等。

這裡的日誌並非 debug 所用的日誌,而是類似資料庫預寫式日誌的概念,作者將預寫式日誌從資料庫內部實現中抽離出來,推而廣之,作為一種實現分散式系統的通用手段:

* 用於 pub-sub 模型中,可獲得持久化、可重播的「消息隊列」(Kafka);

* 用於流式系統保存流的狀態,可獲得持久化、可重播的狀態(Samza);

簡單講,作者將日誌視為一種實現複製、一致性、持久化等特性的通用機制,分散式系統很多特性都可以用日誌來實現。

本書優點是,作者背景強大,言語之間透露出多個開源項目背後設計理念;至於缺點,非要說一點的話就是內容太短了 :)


推薦閱讀:

TAG:Kafka | StreamProcessing | 分散式系統 |