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