Kafka 於其他 MQ 對比

2021-10-25 11:30:20 字數 777 閱讀 9548

①rabbitmq:

rabbitmq 是使用 erlang 編寫的乙個開源的訊息佇列,本身支援很多的協議:amqp,xmpp,smtp,stomp,也正因如此,它非常重量級,更適合於企業級的開發

同時實現了 broker 構架,這意味著訊息在傳送給客戶端時先在中心佇列排隊。對路由,負載均衡或者資料持久化都有很好的支援

②redis:redis 是乙個基於 key-value 對的 nosql 資料庫,開發維護很活躍。

雖然它是乙個 key-value 資料庫儲存系統,但它本身支援 mq 功能,所以完全可以當做乙個輕量級的佇列服務來使用。

對於 rabbitmq 和 redis 的入隊和出隊操作,各執行 100 萬次,每 10 萬次記錄一次執行時間。測試資料分為 128bytes、512bytes、1k 和 10k 四個不同大小的資料。

實驗表明:入隊時,當資料比較小時 redis 的效能要高於 rabbitmq,而如果資料大小超過了 10k,redis 則慢的無法忍受;出隊時,無論資料大小,redis 都表現出非常好的效能,而 rabbitmq 的出隊效能

③zeromq:zeromq 號稱最快的訊息佇列系統,尤其針對大吞吐量的需求場景。

zeromq 能夠實現 rabbitmq 不擅長的高階/複雜的佇列,但是開發人員需要自己組合多種技術框架,技術上的複雜度是對這 mq 能夠應用成功的挑戰。

zeromq 具有乙個獨特的非中介軟體的模式,你不需要安裝和執行乙個訊息伺服器或中介軟體,因為你的應用

Kafka和mq的差異

其實,作為訊息佇列來說,企業中選擇mq的還是多數,因為像rabbit,rocket等mq中介軟體都屬於很成熟的產品,效能一般但可靠性較強,而kafka原本設計的初衷是日誌統計分析,現在基於大資料的背景下也可以做運營資料的分析統計,而redis的主要場景是記憶體資料庫,作為訊息佇列來說可靠性太差,而且...

Kafka和MQ的差異

做為訊息佇列來說,企業中選擇mq的還是多數,像rabbit,rocket和active等mq中介軟體相對成熟,效能一般比較可靠。而kafka原本設計的初衷是日誌統計分析,現在基於大資料的背景下也可以做運營資料的分析統計,而redis的主要場景是記憶體資料庫,作為訊息 佇列來說可靠性太差,而且速度太依...

Kafka與MQ的區別

作為訊息佇列來說,企業中選擇mq的還是多數,因為像rabbit,rocket等mq中介軟體都屬於很成熟的產品,效能一般但可靠性較強,而kafka原本設計的初衷是日誌統計分析,現在基於大資料的背景下也可以做運營資料的分析統計,而redis的主要場景是記憶體資料庫,作為訊息佇列來說可靠性太差,而且速度太...