前 3 名 Kafka 書籍和教程
Apache Kafka 的流行并未退縮。如果有的話,它的采用率是有目共睹的。從視覺上看,以下是過去六年中全球 Kafka 的谷歌搜索趨勢:
image.png
在書名中使用“有效”一詞通常是為各自領域中最權威的文本保留的。例如,Scott Meyers 的Effective C++或Josh Bloch 的Effective Java。它們是絕對的精華。
那么,這本書名副其實嗎?
Effective Kafka是 Apache Kafka 的絕對圣經。
我不想夸大這本書有多好,但很難不夸大。首先,Effective Kafka不是一本小書,將近 500 頁。但它讀起來很好,結構巧妙,語法風格好,經過深思熟慮的進展,以及許多很好的類比和插圖。
本書是核心技術平臺的完整指南,適用于所有水平的技能——從初學者到中級和高級。它首先假設您一無所知,并用大量圖表解釋核心概念。然后涵蓋架構和設計注意事項、客戶端和代理配置、操作問題、安全性和事務。這本書很好地融合了理論和實踐實踐,有很多 Java 代碼片段和示例。我發現它是最新的,涵蓋了我知道的所有 Kafka 功能和一些我不知道的功能。
如果你今年只打算買一本書,就是這樣。
購買理由:
深入覆蓋所有核心概念和補充領域。
建筑洞察力和設計最佳實踐。
適合初學者到高級水平。
所有 Kafka 功能的最新報道。
物超所值,使用壽命長。
通過的原因:
沒有想到的。
Kafka:權威指南:大規模實時數據和流處理
image.png
這本書非常擅長以易于理解和理解的方式解釋 Kafka 背后的關鍵概念。對于絕對的初學者和中級用戶來說,這都是一本出色的書,并且是對官方文檔的極好補充。
寫作風格簡潔明了。這本書有大量的實際例子和技術插圖。
也有一些負面影響。這本書現在大約四歲了,開始顯示它的年齡。某些新功能(例如事務)并未涵蓋在內。這本書很好地堅持了核心主題,但犧牲了涵蓋更高級的主題,例如安全性。
購買理由:
簡潔的交付和核心概念的全面覆蓋。
非常適合初學者和中級用戶。
物有所值。
通過的原因:
有點過時,錯過了新功能和技術。
不適合高級用戶。
Kafka鏈接: O'Reilly權威指南。
流式架構:使用 Apache Kafka 和 MapR Streams 的新設計
image.png
流式架構是對 Apache Kafka 文獻的另一種理解。在其他書籍將 Kafka 作為通用構建塊呈現的情況下,Dunning 和 Friedman 決定將流處理用例歸零,不僅展示 Apache Kafka,還展示 MapR Streams,這是一種補充技術。
如果您有一組非常具體的用例,而不是想進入 Kafka,那么這本書是理想的選擇。也許你的工作重在流處理;例如,分析、復雜事件處理、窗口聚合、點擊流分析等。Streaming Architecture是用一塊石頭殺死兩只鳥的絕佳機會(沒有動物受到傷害......)。
在考慮這本書時,請記住這是一本介紹性的文本。無論如何,這都不是深入研究,您可能需要購買另一本書或參加一門課程來填補空白。由于二合一(Kafka 和 MapR)的主張,它并沒有使它成為一本壞書,但它仍然是一本小眾的書,它可能不是您正在尋找的。
購買理由:
專注于 map-reduce 風格的流處理。
涉及卡夫卡的負面和正面。
通過的原因:
內容淺顯(僅 120 頁)。
不適合超出初學者水平。
有更好的價值選擇。
鏈接到O'Reilly上的流式架構。
教程
雖然有一些關于 Kafka 的好書,但這并不意味著免費的博客和文章就一定不好。也不意味著所有的書都很棒——亞馬遜上肯定有很多令人震驚的書。
我已經收錄了三篇關于 Kafka 的熱門文章,它們應該可以幫助您入門。它們純粹是介紹性的,所以不要指望成為專家。
卡夫卡簡述
這篇文章包括一些歷史和一些典型的用例和模式。然后查看核心組件的架構——代理、ZooKeeper 節點、生產者和消費者,以及它們如何相互關聯。
就其規模而言,內容質量和交付都非常出色?!癒afka in a Nutshell”貫穿核心概念,例如主題、分區、偏移量、消費者組、記錄順序、并行性和至少一次交付。當然,它沒有本書的深度,但它可以讓您有一個基本的了解。
這篇文章還介紹了工具,這是一個經常被忽視的東西。有一些示例使用命令行界面來發布和使用消息,因此它既是實用的“入門”指南,也是理論入門指南。
Kafka in a Nutshell還談到了 Kafka 的缺點以及從業者應該注意的一些問題。它還討論了性能以及 Kafka 如何實現其吞吐量。還提到了地理復制、多租戶和安全性。
總的來說,《果殼》中的卡夫卡必須是最好的全能者——這是一種不用花一分錢就能弄濕腳的好方法。
Apache Kafka:入門
這篇文章以一種稍微非傳統的方式完成了整個“入門”工作——首先從示例開始,然后解釋它們的作用以及各種組件如何適應更廣泛的情況。如果有一點批評,那就是文章缺乏清晰的結構;格溫從一個概念跳到另一個概念以試圖覆蓋地面,但結果有時聽起來不連貫。
與Kafka in a Nutshell不同,這篇文章并不試圖成為一個完整的介紹。它試圖更加親力親為。它為您提供了一些理論知識,并提供了其他有用資源的鏈接。我們接下來將研究一種這樣的資源。
官方文檔
當您可以使用官方 Kafka 文檔時,為什么還要尋找博客和其他免費贈品?
如果您是經驗豐富的 Kafka 開發人員,您可能已經無數次閱讀官方文檔。這是一個很好的參考指南。但是,如果您仍在尋找方向,那么文檔可能是非常寶貴的資源。
官方文檔中的“入門”部分提供了令人信服的平臺概述。它首先概述了事件流及其一些潛在用例。然后它根據事件流來呈現 Kafka,這也是與消息隊列的一個很好的區別。
在介紹了 Kafka 之后,該指南涵蓋了一些主要概念和術語,例如生產者、消費者、主題和分區。
使用官方文檔獲得的一個優勢是確保它們是正確和徹底的。除了簡短的介紹部分之外,文檔的其余部分讀起來就像用戶指南,這基本上就是它的設計目的。
結論
Kafka 是一個高度靈活的事件流平臺,它帶來了自己的一套概念和原則。這不是最容易征服的技術,但您的努力將是值得的。作為一個相當成熟的平臺,它并不缺乏文檔和其他知識來源,但也有很多對剛開始的人沒有幫助的信息。我希望這份清單為您提供了正確方向的一些指示。
Apache Kafka
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。