分布式消息服務(Distributed Message Service)是一項基于高可用分布式集群技術的消息中間件服務,具有大規(guī)模、高可靠、高并發(fā)訪問、可擴展且完全托管的特點。使云應用程序的組件去耦合,具有很高的成本效益。
產品優(yōu)勢
高級隊列
提供高級隊列,即開即用,安全可靠,支持高吞吐、高可靠兩種應用場景。
普通隊列
DMS支持普通隊列和有序隊列,提供高并發(fā)、低延時、穩(wěn)定安全的消息中間件服務。
功能豐富
提供廣播消息、延時消息、消息重投、消息查詢、消息回溯、死信消息等,可根據(jù)業(yè)務需要定制隊列處理能力。
應用場景
分布式消息服務可應用在多個領域,包括異步通信解耦、企業(yè)解決方案、金融支付、電信、電子商務、快遞物流、廣告營銷、社交、即時通信、手游、視頻、物聯(lián)網(wǎng)、車聯(lián)網(wǎng)等。
分布式消息服務可以應用但不局限于以下業(yè)務場景:
業(yè)務解耦
將業(yè)務中依賴其他系統(tǒng)同時屬于非核心或不重要的部分使用 消息通知 即可,無需同步等待其他系統(tǒng)的處理結果。
如電商網(wǎng)站在促銷期間搶購訂單,搶到的商品訂單信息放入消息隊列,出庫、發(fā)貨等后續(xù)會從隊列里讀取任務信息然后執(zhí)行。
最終一致性
在交易或支付系統(tǒng)中,不同的子系統(tǒng)/模塊的狀態(tài)需要最終保持一致,或都成功或都失敗。子系統(tǒng)/模塊之間傳遞的數(shù)據(jù)不能丟失,需要有可靠消息傳遞,能保證業(yè)務的連續(xù)性。DMS可以用于子系統(tǒng)/模塊間的高可靠數(shù)據(jù)傳遞,實現(xiàn)兩者之間的事務最終一致,降低實現(xiàn)難度和成本。
例如用戶使用儲蓄余額購買理財產品。由于理財系統(tǒng)一般對理財申購交易采用日終統(tǒng)一處理,允許用戶的儲蓄余額與理財系統(tǒng)資金余額存在一定時間段的不一致,或者說中間狀態(tài),因此,可以對理財產品的購買支付流程使用DMS服務的消息處理機制,保證儲蓄余額與理財余額的最終一致,同時避免系統(tǒng)間對賬不平。
錯峰流控
在電子商務系統(tǒng)或大型網(wǎng)站中,上下游系統(tǒng)處理能力存在差異,處理能力高的上游系統(tǒng)的突發(fā)流量可能會對處理能力低的某些下游系統(tǒng)造成沖擊,需要提高系統(tǒng)的可用性的同時降低系統(tǒng)實現(xiàn)的復雜性。電商大促銷等流量洪流突然來襲時,可以通過隊列服務堆積緩存訂單等信息,在下游系統(tǒng)有能力處理消息的時候再處理,避免下游訂閱系統(tǒng)因突發(fā)流量崩潰。消息隊列提供億級消息堆積能力,3天的保留時長,消息消費系統(tǒng)可以錯峰進行消息處理。
日志同步
應用通過可靠異步方式將日志消息同步到消息服務,再通過其他組件對日志做實時或離線分析,也可用于關鍵日志信息收集進行應用監(jiān)控。
使用DMS實現(xiàn)日志同步一般按以下流程:
日志采集客戶端,負責用戶應用服務的日志數(shù)據(jù)采集,以發(fā)送消息方式寫入DMS消息隊列。
DMS消息隊列,負責日志數(shù)據(jù)的接收、存儲和轉發(fā)管理。
日志處理應用,訂閱并消費DMS消息隊列中的日志數(shù)據(jù)。