本網翻譯整理apache kafka,提供整理apache kafka的完整學習文件。資料流,如訊息傳遞系統 高效並實時 資料流安全地在分布式集群中複製儲存
kafka是用於構建實時資料管道和流應用程式。具有橫向擴充套件,容錯,wicked fast(**快)等優點,並已在成千上萬家公司執行。
apache kafka是訊息中介軟體的一種,我發現很多人不知道訊息中介軟體是什麼,在開始學習之前,我這邊就先簡單的解釋一下什麼是訊息中介軟體,只是粗略的講解,目前kafka已經可以做更多
的事情。
舉個例子,生產者消費者,生產者生產雞蛋,消費者消費雞蛋,生產者生產乙個雞蛋,消費者就消費乙個雞蛋,假設消費者消費雞蛋的時候噎住了(系統宕機了),生產者還在生產雞蛋,那新生產的雞蛋就丟失了。再比如生產者很強勁(大交易量的情況),生產者1秒鐘生產100個雞蛋,消費者1秒鐘只能吃50個雞蛋,那要不了一會,消費者就吃不消了(訊息堵塞,最終導致系統超時),消費者拒絕再吃了,」雞蛋「又丟失了,這個時候我們放個籃子在它們中間,生產出來的雞蛋都放到籃子裡,消費者去籃子裡拿雞蛋,這樣雞蛋就不會丟失了,都在籃子裡,而這個籃子就是」kafka「。
雞蛋其實就是「資料流」,系統之間的互動都是通過「資料流」來傳輸的(就是tcp、http什麼的),也稱為報文,也叫「訊息」。
訊息佇列滿了,其實就是籃子滿了,」雞蛋「 放不下了,那趕緊多放幾個籃子,其實就是kafka的擴容。
各位現在知道kafka是幹什麼的了吧,它就是那個"籃子"。
後面大家會看到一些關於kafka的名詞,比如topic、producer、consumer、broker,我這邊來簡單說明一下。
大家一定要學會抽象的去思考,上面只是屬於業務的角度,如果從技術角度,topic標籤實際就是佇列,生產者把所有「雞蛋(訊息)」都放到對應的佇列裡了,消費者到指定的佇列裡取。
最近面試發現,很多人用過kafka,但是沒人了解原理,我們可是很注重原理的(ps:要不然怎麼知道你真的會呢)。
這些問題在下面的文章中都可以找到答案,kafka之所以有這麼火熱,建議各位一定要看一下。
還是那句話,學習任何技術,跟學騎自行車一樣,不要一開始只關注它的具體細節是什麼。先學著怎麼騎,騎著騎著就了解大致的原理,這個時候在去看它的原理,會很輕鬆。
章節與kafka官網對應一致
第一章:開始
第二章:api
第三章:kafka的配置
第四章:kafka如何設計的
第五章:kafka的實現
第六章:kafka的常用操作,如擴容,刪除和增加topic。
第七章:安全
第八章:kafka connect
第九章:kafka 流
第十章:筆記(kafka命令大全)
我們的內容會根據官網的更新,而定期更新。
Spring AOP中文教程
僅僅用配置檔案便可把程式的每一部分組裝起來。四個bean定義的次序並不重要。我們現在有了乙個advice,乙個包含了正規表示式pointcut的advisor,乙個主程式類和乙個配置好的介面,通過工廠ctx,這個介面返回自己本身實現的乙個引用。beanimpl和testbeforeadvice都是直...
Beautiful Soup 中文教程
beautiful soup 是乙個處理python html xml的模組,功能相當強勁,最近仔細的看了一下他的幫助文件,終於看明白了一些。準備好好研究一下,順便將beautiful soup的一些用法整理一下,放到這個wiki上面,那個文件確實不咋地。beautiful soup 中文教程 的官...
pandas cookbook 中文教程
pandas cookbook 中文教程 chapter 1 讀取csv.ipynb chapter 2 選取資料和資料描述.ipynb chapter 3 探索性資料分析 基礎.ipynb chapter 4 探索性資料分析 groupby和aggregate.ipynb chapter 5 合併...