消息中間件的技術選型心得-RabbitMQ、ActiveMQ和ZeroMQ

消息中間件的技術選型心得-RabbitMQ、ActiveMQ和ZeroMQ


做者:chszs,轉載需註明。博客主頁:http://blog.csdn.net/chszs

RabbitMQ、ActiveMQ和ZeroMQ都是極好的消息中間件,但是咱們在項目中該選擇哪一個更適合呢?很是多開發人員面臨這個煩惱。如下我會對這三個消息中間件作一個比較,看了後大家就心中有數了。

RabbitMQ是AMQP協議率先的一個實現,它實現了代理(Broker)架構,意味着消息在發送到client以前可以在中央節點上排隊。此特性使得RabbitMQ易於使用和部署,適宜於很是多場景如路由、負載均衡或消息持久化等,用消息隊列僅僅需幾行代碼就能夠搞定。但是,這使得它的可擴展性差,速度較慢,因爲中央節點添加了延遲,消息封裝後也比較大。


ZeroMQ是一個很輕量級的消息系統,專門爲高吞吐量/低延遲的場景開發,在金融界的應用中經常可以發現它。與RabbitMQ相比,ZeroMQ支持不少高級消息場景,但是你必須實現ZeroMQ框架中的各個塊(比方Socket或Device等)。ZeroMQ很靈活,但是你必須學習它的80頁的手冊(假設你要寫一個分佈式系統,必定要閱讀它)。


ActiveMQ居於二者之間,相似於ZemoMQ,它可以部署於代理模式和P2P模式。相似於RabbitMQ,它易於實現高級場景,而且僅僅需付出低消耗。它被譽爲消息中間件的「瑞士軍刀」。

要注意一點,ActiveMQ的下一代產品爲Apollo。


終於,這三個產品:
1. 都有clientAPI且支持多種編程語言;
2. 都有大量的文檔;
3. 都提供了積極的支持。
相關文章
相關標籤/搜索