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