822
人物
集群消費和廣播消費__特色功能_消息隊列 MQ-阿裏雲
本文檔主要介紹 MQ 集群消費和廣播消費的基本概念,適用場景以及注意事項。
基本概念
MQ 是基於發布訂閱模型的消息係統。在 MQ 消息係統中消息的訂閱方訂閱關注的 Topic,以獲取並消費消息。由於訂閱方應用一般是分布式係統,以集群方式部署有多台機器。因此 MQ 約定以下概念。
集群:MQ 約定使用相同 Consumer ID 的訂閱者屬於同一個集群,同一個集群下的訂閱者消費邏輯必須完全一致(包括 Tag 的使用),這些訂閱者在邏輯上可以認為是一個消費節點。
集群消費:當使用集群消費模式時,MQ 認為任意一條消息隻需要被集群內的任意一個消費者處理即可。
廣播消費:當使用廣播消費模式時,MQ 會將每條消息推送給集群內所有注冊過的客戶端,保證消息至少被每台機器消費一次。
場景對比
集群消費模式:
適用場景&注意事項
- 消費端集群化部署,每條消息隻需要被處理一次。
- 由於消費進度在服務端維護,可靠性更高。
- 集群消費模式下,每一條消息都隻會被分發到一台機器上處理,如果需要被集群下的每一台機器都處理,請使用廣播模式。
- 集群消費模式下,不保證消息的每一次失敗重投等邏輯都能路由到同一台機器上,因此處理消息時不應該做任何確定性假設。
廣播消費模式:
適用場景&注意事項
- 每條消息都需要被相同邏輯的多台機器處理。
- 消費進度在客戶端維護,出現重複的概率稍大於集群模式。
- 廣播模式下,MQ 保證每條消息至少被每台客戶端消費一次,但是並不會對消費失敗的消息進行失敗重投,因此業務方需要關注消費失敗的情況。
- 廣播模式下,第一次啟動時默認從最新消息消費,客戶端的消費進度是被持久化在客戶端本地的隱藏文件中,因此不建議刪除該隱藏文件,否則會丟失部分消息。
- 廣播模式下,每條消息都會被大量的客戶端重複處理,因此推薦盡可能使用集群模式。
- 目前僅 Java 客戶端支持廣播模式。
- 廣播模式下服務端不維護消費進度,所以服務端不提供堆積查詢和報警功能。
使用集群模式模擬廣播:
適用場景&注意事項
- 每條消息都需要被多台機器處理,每台機器的邏輯可以相同也可以不一樣。
- 消費進度在服務端維護,可靠性高於廣播模式。
最後更新:2016-11-23 16:04:16
上一篇:
消息過濾__特色功能_消息隊列 MQ-阿裏雲
下一篇:
定時消息和延時消息__特色功能_消息隊列 MQ-阿裏雲
創建實例概覽__創建實例_實例_用戶指南_雲服務器 ECS-阿裏雲
數據集管理__監控結果管理_用戶指南_業務實時監控服務 ARMS-阿裏雲
不予支持 Docker Compose 的標簽__服務編排文檔_用戶指南_容器服務-阿裏雲
ECS Windows係統抓包工具Wireshark的安裝使用__網絡連接問題_網絡問題_Windows操作運維問題_雲服務器 ECS-阿裏雲
批量修改解析記錄__批量管理接口_API文檔_雲解析-阿裏雲
其他__常見問題_雲解析-阿裏雲
命令行工具的簡單 Shell 腳本__腳本使用示例_用戶指南_命令行工具 CLI-阿裏雲
新增類目__媒體類目接口_API使用手冊_視頻點播-阿裏雲
認證考試的報名方式__彈性計算認證(ACP級)_如何獲得專業技術認證?_專業技術認證-阿裏雲
創建共享帶寬包__NAT網關相關接口_API參考_專有網絡 VPC-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲