tech| kafka入門書籍導讀
date: 2019-01-07 18:19:42
title: tech| kafka入門書籍導讀
梳理了一下自己在入門 kafka 時讀過的一些書, 希望能幫助到對 kafka 感興趣的小夥伴.
涉及到的書籍:
- kafka 權威指南
- Kafka: The Definitive Guide (kafka 權威指南的英文原版)
- Kafka入門與實踐
- kafka技術內幕
推薦的書籍閱讀順序:
- 優先閱讀 「kafka 權威指南」, 基於 kafka 0.8.0 版本, 幷包含 0.9.0 版本中即將引入的重要特性. 整體內容的設計上要合理得多, 基礎->核心->架構->原理->更多元件->管理運維, 一步步循序漸進, 用書中的話來說
給予一個技術書籍作者最好的讚賞莫過於這句話 -- 如果在一開始接觸這門技術時能看到這本書就好了
推薦的閱讀方式: 「精讀」, 適合用來構建 對 kafka 理解
-
其次閱讀 「Kafka入門與實踐」, 基於 kafka 0.9.0 版本. 權威指南在講解具體的元件的時候, 才會附上少量的程式碼, 並且配上詳細的註釋, 而這本書在講解元件時細緻入微, 不僅會有具體類/方法的程式碼呈現和分析, 多半還配有
「流程圖/執行圖」
等輔助進行講解, 並且在實踐 上有很多 「真知灼見」(或者說踩過一些坑). 如果希望在生產上使用, 很有必要快速的看一遍實踐部分的相關內容.
推薦的閱讀方式: 「快速閱讀」掌握整本書的大致結構, 在感興趣的元件部分, 推薦配合最新的原始碼一起閱讀. 尤其推薦「實踐」相關部分的內容.
- 需要更深入細緻的瞭解的話, 「kafka技術內幕」值得入手, 基於 kafka 0.9.0 版本(當時最新) 做的深入解讀, 700多頁的厚度會讓你非常有「充實感」. 直到今年技術總監和我聊, 希望在 kafka 上做一些技術準備時, 才從書架上解開了塵封.
推薦閱讀方式: 興趣驅動是最好的, 作者就是這樣的情況下慢慢積累出的這樣厚厚一本書, 我對高可用和高效能部分比較感興趣, 所以配合最新的原始碼, 精讀了這部分內容
- Kafka: The Definitive Guide, 關於英文原版, 我閱讀英文並不流暢, 所以還是中文書籍為主, 英文原版多是「輔助作用」, 分享一條小 tips
在一些感覺「怪異」的地方檢視一下原版, 往往有奇效
舉幾個奇效的例子:
-
kafka 中的
broker
,有本書裡作者稱之為 「代理」, 如果在原版裡整體看過 kafka 各個元件及其英文, 就不容易被誤導了 -
關於複製,
replication
vsmirror
: kafka 中有專門的 mirrorMaker 模組處理複製的任務, 而經典的資料庫主從複製中, 多是使用 replication. 英文原版中就特意比較了這 2 個詞
技術類書籍想要獲得好的讀書效果, 當然要動手. 值得參考的 github 專案:
- apache/kafka: kafka 原始碼, 在深入的過程中, 看書可以很好的引路, 原始碼才是最好的老師
- wurstmeister/kafka-docker: 目前使用量最高的 kafka docker 映象. 雖然 kafka 也支援單機部署. 但是如果不能動手跑一個 kafka 叢集進行實踐, 「那和鹹魚有什麼區別」
- kafka-manager: 雅虎實現的 kafka 開源管理元件, 要上生產, 管理元件也必須得跟上才行
最後, 引用 「kafka 權威指南」中的話來總結: 同志仍需努力.
執行一個kafka叢集需要付出很大的努力, 為了讓kafka保持巔峰狀態, 需要做大量的配置和維護