這篇博文來對常用的消息中間件做一個對比。
前幾天在一篇文章中看到這麼一句話:
“不是隻有永遠在一起,才叫好的結局,相遇之後,我們都變成了更好的人,也叫好的結局。”
對於消息中間件的選擇來說,當在你的業務達到瓶頸, 使用哪個能快速解決你當前的問題那就是最好的。
追求完美本身沒有錯,然而完美往往是需要時間的,先做出來,再優化它,否則沒完美前就已經死了。
目前市面上常用的消息中間件框架有哪些呢?
以下圖片來自https://start.spring.io
當然,還有很多其他很多種消息中間件,甚至據說redis 也支持消息發佈和訂閱模式,這裏就不一一列舉了。
下面博主整理了一些比較關注的一些參數以供參考。
對比參數 | IBM MQ | Rabbit MQ | Apache Kafka |
---|---|---|---|
是否付費 | 收費 | 免費 | 免費 |
底層實現語言 | Java | Erlang | Scale &Java |
特點 | 強大、 安全、 穩定的消息 | 簡單易用 | 海量數據處理, 可以和大數據Spark框架整合 |
是否開源 | 閉源 | 開源 | 開源 |
版權歸屬 | IBM | Pivotal(EMC,VMware和通用電氣(GE)聯合成立的公司) | Apache 開源軟件基金會 |
維護難度 | 簡單 | 一般 | 複雜 |
博主評語 | 付費中可靠的消息中間件 | 開源的消息中間件,支持多種使用場景 | 分佈式流處理框架,消息發佈訂閱只是其中一個功能,支持海量數據分佈式集羣,可方便與大數據Spark 框架整合 |
本篇完~