kafka中文教程
發布 & 訂閱 ???????????????????????處理?????????????????????存儲
數據流,如消息傳遞系統?????????????????????高效并實時?????????????????????數據流安全地在分布式集群中復制存儲
??????????????????????????????
kafka是用于構建實時數據管道和流應用程序。具有橫向擴展,容錯,wicked fast(變態快)等優點,并已在成千上萬家公司運行。
簡單說明什么是kafka
Apache kafka是消息中間件的一種,我發現很多人不知道消息中間件是什么,在開始學習之前,我這邊就先簡單的解釋一下什么是消息中間件,只是粗略的講解,目前kafka已經可以做更多的事情。
舉個例子,生產者消費者,生產者生產雞蛋,消費者消費雞蛋,生產者生產一個雞蛋,消費者就消費一個雞蛋,假設消費者消費雞蛋的時候噎住了(系統宕機了),生產者還在生產雞蛋,那新生產的雞蛋就丟失了。再比如生產者很強勁(大交易量的情況),生產者1秒鐘生產100個雞蛋,消費者1秒鐘只能吃50個雞蛋,那要不了一會,消費者就吃不消了(消息堵塞,最終導致系統超時),消費者拒絕再吃了,”雞蛋“又丟失了,這個時候我們放個籃子在它們中間,生產出來的雞蛋都放到籃子里,消費者去籃子里拿雞蛋,這樣雞蛋就不會丟失了,都在籃子里,而這個籃子就是”kafka“。
雞蛋其實就是“數據流”,系統之間的交互都是通過“數據流”來傳輸的(就是tcp、http什么的),也稱為報文,也叫“消息”。
消息隊列滿了,其實就是籃子滿了,”雞蛋“ 放不下了,那趕緊多放幾個籃子,其實就是kafka的擴容。
各位現在知道kafka是干什么的了吧,它就是那個"籃子"。
kafka名詞解釋
后面大家會看到一些關于kafka的名詞,比如topic、producer、consumer、broker,我這邊來簡單說明一下。
- producer:生產者,就是它來生產“雞蛋”的。
- consumer:消費者,生出的“雞蛋”它來消費。
- topic:你把它理解為標簽,生產者每生產出來一個雞蛋就貼上一個標簽(topic),消費者可不是誰生產的“雞蛋”都吃的,這樣不同的生產者生產出來的“雞蛋”,消費者就可以選擇性的“吃”了。
- broker:就是籃子了。
大家一定要學會抽象的去思考,上面只是屬于業務的角度,如果從技術角度,topic標簽實際就是隊列,生產者把所有“雞蛋(消息)”都放到對應的隊列里了,消費者到指定的隊列里取。
怎么樣才算真正的學會kafka
最近面試發現,很多人用過kafka,但是沒人了解原理,我們可是很注重原理的(PS:要不然怎么知道你真的會呢)。
- kafka節點之間如何復制備份的?
- kafka消息是否會丟失?為什么?
- kafka最合理的配置是什么?
- kafka的leader選舉機制是什么?
- kafka對硬件的配置有什么要求?
- kafka的消息保證有幾種方式?
。。。。。。 你是否都答得上來?(歡迎大家補充!)
這些問題在下面的文章中都可以找到答案,kafka之所以有這么火熱,建議各位一定要看一下。
如何學習kafka
還是那句話,學習任何技術,跟學騎自行車一樣,不要一開始只關注它的具體細節是什么。先學著怎么騎,騎著騎著就了解大致的原理,這個時候在去看它的原理,會很輕松。
如果你在學習的過程中遇到什么問題,直接評論或者在問題專區中提問,我們在線人員會回復你的問題。
章節與kafka官網對應一致
第一章:開始
第二章:API
第三章:kafka的配置
第四章:kafka如何設計的
第五章:kafka的實現
第六章:kafka的常用操作,如擴容,刪除和增加topic。
第七章:安全
第八章:kafka Connect
第九章:kafka 流
第十章:筆記(kafka命令大全)
我們的內容會根據官網的更新,而定期更新。
作者:半獸人
鏈接:http://orchome.com/kafka/index
來源:OrcHome
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
轉載于:https://www.cnblogs.com/zftxdh/p/7251075.html
總結
- 上一篇: Windows - cd 命令
- 下一篇: 二分图入门题