服務搭建問題
目前阿裡雲針對RabbitMQ、RocketMQ和Kafka均提供了PAAS級别的服務,使用者可以直接在阿裡雲平台建立使用,避免了本地自建的麻煩和監控運維,開箱即用,友善基于業務量橫向擴充。RocketMQ 阿裡雲産品官網 RabbitMQ 阿裡雲産品官網 Kafka 阿裡雲産品官網
産品對比
考慮次元:可靠性,性能,功能,SDK支援,可拓展性等
産品 | 優點 | 缺點 |
---|---|---|
RocketMQ | 性能好,穩定可靠,延遲低,消息軌迹功能強大 | TCP SDK語言支援有限,Http SDK性能較差 |
RabbitMQ | 輕量,迅捷,擁有靈活的路由配置,SDK語言支援豐富 | 性能和吞吐量較差,不易進行二次開發 |
Kafka | 擁有強大的性能及吞吐量,相容性很好 | 因為其本身最求高吞吐,延遲較高 |
選型原則
1、如果消息隊列并不是将要建構系統的主角之一,且對消息隊列功能和性能都沒有很高的要求,隻需要一個開箱即用易于維護的消息中間件産品,建議使用RabbitMQ;
2、如果系統使用消息隊列主要場景是處理線上業務,比如在交易系統中用消息隊列傳遞訂單,建議優先考慮可以支援金融級延遲的RocketMQ,其強大的消息軌迹友善對消息的跟蹤定位;
3、如果是需要處理海量的消息,像收集日志、監控資訊或是前端的埋點這類資料,或是應用場景大量使用了大資料、流計算相關的開源産品,Kafka是最好的選擇。