問(wèn)題:
Kafka是什么?有什么特點(diǎn)?kafka和MQTT協(xié)議的區(qū)別
回答:
Kafka是一種快速、可擴(kuò)展的、高吞吐的、可容錯(cuò)的分布式“發(fā)布-訂閱”消息系統(tǒng),使用Scala與Java語(yǔ)言編寫,能夠?qū)⑾囊粋€(gè)端點(diǎn)傳遞到另一個(gè)端點(diǎn)。
Kafka對(duì)消息保存時(shí)根據(jù)Topic進(jìn)行歸類,發(fā)送消息者為生產(chǎn)者,消息接收者為消費(fèi)者。
Kafka由Apache軟件基金會(huì)開發(fā),是LinkedIn于2010年12月開發(fā)的技術(shù)
Kafka的特點(diǎn):
1、提供Pub/Sub方式的海量消息處理。
2、以高容錯(cuò)的方式存儲(chǔ)海量數(shù)據(jù)流。
3、保證數(shù)據(jù)流的順序。
4、對(duì)消息保存時(shí)根據(jù)Topic進(jìn)行歸類。
5、發(fā)送消息者稱為Producer,消息接受者稱為Consumer。
6、Kafka集群有多個(gè)kafka實(shí)例組成,每個(gè)實(shí)例(server)稱為broker。
7、Kafka集群、producer和consumer都依賴于zookeeper集群保存一些meta信息,來(lái)保證系統(tǒng)可用性。
kafka和MQTT的區(qū)別
MQTT和Kafka是兩個(gè)不同的協(xié)議,雖然它們都和發(fā)布/訂閱范式有關(guān),但是它們的應(yīng)用場(chǎng)景和目標(biāo)略有不同,具體區(qū)別如下:
Kafka是用來(lái)處理大數(shù)據(jù)的,側(cè)重于對(duì)數(shù)據(jù)的存儲(chǔ)和讀取,它的消息傳遞機(jī)制更側(cè)重于對(duì)數(shù)據(jù)流的處理,針對(duì)的是實(shí)時(shí)性比較高的流式數(shù)據(jù)處理場(chǎng)景。
MQTT是用來(lái)處理物聯(lián)網(wǎng)的,側(cè)重于客戶端和服務(wù)器的通信,它的消息傳遞機(jī)制更側(cè)重于對(duì)消息的傳遞和處理,針對(duì)的是大量物聯(lián)網(wǎng)設(shè)備發(fā)來(lái)的消息做接收處理響應(yīng)的場(chǎng)景。
免責(zé)聲明:本網(wǎng)站部分文章、圖片等信息來(lái)源于網(wǎng)絡(luò),版權(quán)歸原作者平臺(tái)所有,僅用于學(xué)術(shù)分享,如不慎侵犯了你的權(quán)益,請(qǐng)聯(lián)系我們,我們將做刪除處理!