本文列舉雲訊息佇列 RocketMQ 版所支援的所有功能與特性。
概覽
雲訊息佇列 RocketMQ 版在阿里雲多個地區(Region)提供了高可用訊息雲端服務。單個地區內採用多機房部署,可用性極高,即使整個機房都不可用,仍然可以為應用提供訊息發布服務。
雲訊息佇列 RocketMQ 版提供TCP和HTTP協議的多語言接入方式,方便不同程式設計語言開發的應用快速接入雲訊息佇列 RocketMQ 版訊息雲端服務。您可以將應用部署在阿里雲ECS、企業自建雲,或者嵌入到移動端、物聯網裝置中與雲訊息佇列 RocketMQ 版建立串連進行訊息收發;同時,本地開發人員也可以通過公網接入雲訊息佇列 RocketMQ 版服務進行訊息收發。
多協議接入
管理工具
訊息類型列表
普通訊息
訊息佇列RocketMQ版中無特性的訊息,區別於有特性的定時和延時訊息、順序訊息和事務訊息。
定時和延時訊息
允許訊息生產者對指定訊息進行定時(延時)投遞,最長支援40天。
順序訊息
允許訊息消費者按照訊息發送的順序對訊息進行消費,順序訊息包括全域順序訊息和分區順序訊息。
事務訊息
實作類別似XA或Open XA的分布事務功能,以達到事務最終一致性狀態。
訊息類型 | 是否支援可靠同步發送 | 是否支援可靠非同步發送 | 是否支援Oneway發送 | 是否支援多線程發送 | 效能 |
普通訊息 | 是 | 是 | 是 | 是 | 最高 |
事務訊息 | |||||
定時和延時訊息 | |||||
分區順序訊息 | 是 | 否 | 否 | 否 | 高 |
全域順序訊息 | 一般 |
訊息特性
- 訊息重試:在消費者返回訊息重試的響應後,雲訊息佇列 RocketMQ 版會按照相應的重試規則進行訊息重投。
- 至少投遞一次(At-least-once):雲訊息佇列 RocketMQ 版保證訊息成功被消費一次。雲訊息佇列 RocketMQ 版的分布式特點和瞬變的網路條件,或者使用者應用重啟發布的情況下,可能導致消費者收到重複的訊息。開發人員應將其應用程式設計為多次處理一條訊息不會產生任何錯誤或不一致性。訊息等冪最佳實務請參見訊息等冪。
- 訊息過濾:雲訊息佇列 RocketMQ 版支援設定訊息屬性給訊息進行分類,雲訊息佇列 RocketMQ 版服務端會根據您訂閱訊息時設定的過濾條件對訊息進行過濾,您將只消費到需要關注的訊息。
訊息功能
- 訊息查詢:雲訊息佇列 RocketMQ 版提供了三種訊息查詢的方式,分別是按Message ID、Message Key以及Topic查詢。
- 查詢訊息軌跡:通過訊息軌跡,能清晰定位訊息從生產者發出,經由雲訊息佇列 RocketMQ 版服務端,投遞給訊息消費者的完整鏈路,方便定位排查問題。
- 叢集消費和廣播消費:當使用叢集消費模式時,雲訊息佇列 RocketMQ 版認為任意一條訊息只需要被消費者叢集內的任意一個消費者處理即可;當使用廣播消費模式時,雲訊息佇列 RocketMQ 版會將每條訊息推送給消費者叢集內所有註冊過的消費者,保證訊息至少被每台機器消費一次。
- 重設消費位點:根據時間或位點重設消費進度,允許使用者進行訊息回溯或者跳過堆積的訊息從最新位點消費。
- 無效信件佇列:將無法正常消費的訊息儲存到特殊的無效信件佇列供後續處理。
- 儀錶盤:提供豐富、全面、多維度統計指標,您可以分別從執行個體、Topic和Group維度查看訊息生產指標、訊息消費指標以及訊息堆積等相關指標。
- 監控警示:您可使用雲訊息佇列 RocketMQ 版提供的監控警示功能,監控某Group ID訂閱的某Topic的訊息消費狀態並接收警示簡訊,協助您即時掌握訊息消費狀態,以便及時處理消費異常。