kafka简介(大数据技术)
kafka是用于構建實時數據管道和流應用程序。具有橫向擴展,容錯,wicked fast(變態快)等優點,并已在成千上萬家公司運行。
簡單說明什么是kafka
Apache kafka是消息中間件的一種,我發現很多人不知道消息中間件是什么,在開始學習之前,我這邊就先簡單的解釋一下什么是消息中間件,只是粗略的講解,目前kafka已經可以做更多的事情。
舉個例子,生產者消費者,生產者生產雞蛋,消費者消費雞蛋,生產者生產一個雞蛋,消費者就消費一個雞蛋,假設消費者消費雞蛋的時候噎住了(系統宕機了),生產者還在生產雞蛋,那新生產的雞蛋就丟失了。再比如生產者很強勁(大交易量的情況),生產者1秒鐘生產100個雞蛋,消費者1秒鐘只能吃50個雞蛋,那要不了一會,消費者就吃不消了(消息堵塞,最終導致系統超時),消費者拒絕再吃了,”雞蛋“又丟失了,這個時候我們放個籃子在它們中間,生產出來的雞蛋都放到籃子里,消費者去籃子里拿雞蛋,這樣雞蛋就不會丟失了,都在籃子里,而這個籃子就是”kafka“。
雞蛋其實就是“數據流”,系統之間的交互都是通過“數據流”來傳輸的(就是tcp、https什么的),也稱為報文,也叫“消息”。
消息隊列滿了,其實就是籃子滿了,”雞蛋“ 放不下了,那趕緊多放幾個籃子,其實就是kafka的擴容。
各位現在知道kafka是干什么的了吧,它就是那個"籃子"。
kafka名詞解釋
后面大家會看到一些關于kafka的名詞,比如topic、producer、consumer、broker,我這邊來簡單說明一下。
? producer:生產者,就是它來生產“雞蛋”的。
? consumer:消費者,生出的“雞蛋”它來消費。
? topic:你把它理解為標簽,生產者每生產出來一個雞蛋就貼上一個標簽(topic),消費者可不是誰生產的“雞蛋”都吃的,這樣不同的生產者生產出來的“雞蛋”,消費者就可以選擇性的“吃”了。
? broker:就是籃子了。
大家一定要學會抽象的去思考,上面只是屬于業務的角度,如果從技術角度,topic標簽實際就是隊列,生產者把所有“雞蛋(消息)”都放到對應的隊列里了,消費者到指定的隊列里取。
總結
以上是生活随笔為你收集整理的kafka简介(大数据技术)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于JAVA在线购书商城系统计算机毕业设
- 下一篇: 12c创建为容器数据库_oracle 1