天天看點

消息隊列選型問題

服務搭建問題

目前阿裡雲針對RabbitMQ、RocketMQ和Kafka均提供了PAAS級别的服務,使用者可以直接在阿裡雲平台建立使用,避免了本地自建的麻煩和監控運維,開箱即用,友善基于業務量橫向擴充。
RocketMQ 阿裡雲産品官網 RabbitMQ 阿裡雲産品官網 Kafka 阿裡雲産品官網

産品對比

考慮次元:可靠性,性能,功能,SDK支援,可拓展性等
産品 優點 缺點
RocketMQ 性能好,穩定可靠,延遲低,消息軌迹功能強大 TCP SDK語言支援有限,Http SDK性能較差
RabbitMQ 輕量,迅捷,擁有靈活的路由配置,SDK語言支援豐富 性能和吞吐量較差,不易進行二次開發
Kafka 擁有強大的性能及吞吐量,相容性很好 因為其本身最求高吞吐,延遲較高

選型原則

1、如果消息隊列并不是将要建構系統的主角之一,且對消息隊列功能和性能都沒有很高的要求,隻需要一個開箱即用易于維護的消息中間件産品,建議使用RabbitMQ;

2、如果系統使用消息隊列主要場景是處理線上業務,比如在交易系統中用消息隊列傳遞訂單,建議優先考慮可以支援金融級延遲的RocketMQ,其強大的消息軌迹友善對消息的跟蹤定位;

3、如果是需要處理海量的消息,像收集日志、監控資訊或是前端的埋點這類資料,或是應用場景大量使用了大資料、流計算相關的開源産品,Kafka是最好的選擇。

參考連結

該如何選擇消息隊列 新手也能看懂,消息隊列其實很簡單

繼續閱讀