鑑於本人對兩個元件的熟悉程度和理解,這裡不做全面的對比,僅依據實際工作情況,做一些自己遇到的特性對比。
首先都可以做佇列,且可以支援多個佇列。redis是多個key,kafka是建多個topic。
都有持久化,部署都很簡單。
redis使用起來簡單,編碼也簡單;kafka略複雜,但也不是很複雜。
kafka可以集群,redis也可以集群。
kafka的乙個佇列可以有多個分片/子佇列,redis不能。redis可以通過客戶端負載到多個集群,進而變相實現單佇列拆分成多個小佇列。kafka是專業的mq元件,redis不是。
兩者都沒有訊息消費確認機制,貌似只有rabbitmq有?且rabbitmq獨有rpc功能?
訊息量不大,可以使用redis做mq,如果量特別大,還是kafka合適,否則redis有可能扛不住被擊穿。另外kafka好像比較適合大吞吐量的訊息,例如系統日誌,kafka+elk是經典的日誌收集系統。
redis與rabbitmq做訊息佇列的區別
訊息佇列 message queue 是一種應用間的通訊方式,訊息傳送後可以立即返回,由訊息系統來確保訊息的可靠傳遞。訊息發布者只管把訊息發布到 mq 中而不用管誰來取,訊息使用者只管從 mq 中取訊息而不管是誰發布的。這樣發布者和使用者都不用知道對方的存在。redis 在我的學習過程中,redis...
RabbitMQ跟Redis做訊息佇列的區別
區別 rabbitmq安裝 然後http localhost 15672 進得去 說明安裝成功 有三種模式 fanout direct topic fanout 傳送到所有的佇列 direct 可以設定key 傳送到對應的佇列 topic 第二種的增強版 key支援模糊匹配 自己建立賬號 不要用gu...
Redis 非同步訊息佇列與延時佇列
非同步訊息佇列 說道訊息佇列,你肯定會想到kafka rabbitmq等訊息中介軟體,這些專業的訊息中介軟體提供了很多功能特性,當然他的部署使用維護都是比較麻煩的。如果你對訊息佇列沒那麼高要求,想要輕量級的,使用redis就沒錯啦。redis通過list資料結構來實現訊息佇列.主要使用到如下命令 廢...