①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的主要場景是記憶體資料庫,作為訊息佇列來說可靠性太差,而且速度太...