ActiveMQ與RabbitMQ的區別

ActiveMQ與RabbitMQ的區別

ActiveMQ

優點:老牌的消息隊列,使用Java語言編寫。對JMS支持最好,採用多線程併發,資源消耗比較大。如果你的主語言是Java,可以重點考慮。
缺點:由於歷史悠久,歷史包袱較多,版本更新很緩慢。集羣模式需要依賴Zookeeper實現。最新架構的產品被命名爲Apollo,號稱下一代ActiveMQ,目前案例較少。

RocketMQ

優點:專爲海量消息傳遞打造,主張使用拉模式,天然的集羣、HA、負載均衡支持。話說還是那句話,適合不適合看你有沒有那麼大的量。
缺點:所謂魚和熊掌不可兼得,放棄了一些消息中間件的靈活性,使用的場景較窄,需關注你的業務模式是否契合,否則山寨變相使用很彆扭。除此之外,RocketMQ沒有.NET下的客戶端可用。RocketMQ身出名門,但使用者不多,生態較小,畢竟消息量能達到這種體量的公司不多,你也可以直接去購買阿里雲的消息服務。Kafka生態完善,其代碼是用Scala語言寫成,可靠性比RocketMQ低一些。

RabbitMQ

優點:生態豐富,使用者衆,有很多人在前面踩坑。AMQP協議的領導實現,支持多種場景。淘寶的MySQL集羣內部有使用它進行通訊,OpenStack開源雲平臺的通信組件,最先在金融行業得到運用。
缺點:Erlang代碼你Hold得住不? 雖然Erlang是天然集羣化的,但RabbitMQ在高可用方面做起來還不是特別得心應手
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章