消息中間件的技術選型心得-RabbitMQ、ActiveMQ和ZeroMQ
RabbitMQ、ActiveMQ和ZeroMQ都是極好的消息中間件,但是我們在項目中該選擇哪個更適合呢?很多開發者面臨這個煩惱。下面我會對這三個消息中間件做一個比較,看了后你們就心中有數了。
RabbitMQ 是AMQP協議領先的一個實現,它實現了代理(Broker)架構,意味著消息在發送到客戶端之前可以在中央節點上排隊。此特性使得RabbitMQ易于 使用和部署,適宜于很多場景如路由、負載均衡或消息持久化等,用消息隊列只需幾行代碼即可搞定。但是,這使得它的可擴展性差,速度較慢,因為中央節點增加 了延遲,消息封裝后也比較大。
ZeroMQ 是一個非常輕量級的消息系統,專門為高吞吐量/低延遲的場景開發,在金融界的應用中經常可以發現它。與RabbitMQ相比,ZeroMQ支持許多高級消 息場景,但是你必須實現ZeroMQ框架中的各個塊(比如Socket或Device等)。ZeroMQ非常靈活,但是你必須學習它的80頁的手冊(如果 你要寫一個分布式系統,一定要閱讀它)。
ActiveMQ居于兩者之間,類似于ZemoMQ,它可以部署于代理模式和P2P模式。類似于RabbitMQ,它易于實現高級場景,而且只需付出低消耗。它被譽為消息中間件的“瑞士軍刀”。
要注意一點,ActiveMQ的下一代產品為Apollo。
最終,這三個產品:
- 都有客戶端API且支持多種編程語言;
- 都有大量的文檔;
- 都提供了積極的支持。
來自:http://blog.csdn.net/chszs/article/details/8479072
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!