華為云計(jì)算 云知識 分布式消息服務(wù)
分布式消息服務(wù)

分布式消息服務(wù)(Distributed Message Service)是一項(xiàng)基于高可用分布式集群技術(shù)的消息中間件服務(wù),具有大規(guī)模、高可靠、高并發(fā)訪問、可擴(kuò)展且完全托管的特點(diǎn)。使云應(yīng)用程序的組件去耦合,具有很高的成本效益。

產(chǎn)品優(yōu)勢

高級隊(duì)列

提供高級隊(duì)列,即開即用,安全可靠,支持高吞吐、高可靠兩種應(yīng)用場景。

普通隊(duì)列

DMS支持普通隊(duì)列和有序隊(duì)列,提供高并發(fā)、低延時(shí)、穩(wěn)定安全的消息中間件服務(wù)。

功能豐富

提供廣播消息、延時(shí)消息、消息重投、消息查詢、消息回溯、死信消息等,可根據(jù)業(yè)務(wù)需要定制隊(duì)列處理能力。

應(yīng)用場景

分布式消息服務(wù)可應(yīng)用在多個(gè)領(lǐng)域,包括異步通信解耦、企業(yè)解決方案、金融支付、電信、電子商務(wù)、快遞物流、廣告營銷、社交、即時(shí)通信、手游、視頻、物聯(lián)網(wǎng)、車聯(lián)網(wǎng)等。

分布式消息服務(wù)可以應(yīng)用但不局限于以下業(yè)務(wù)場景:

業(yè)務(wù)解耦

將業(yè)務(wù)中依賴其他系統(tǒng)同時(shí)屬于非核心或不重要的部分使用 消息通知 即可,無需同步等待其他系統(tǒng)的處理結(jié)果。

如電商網(wǎng)站在促銷期間搶購訂單,搶到的商品訂單信息放入消息隊(duì)列,出庫、發(fā)貨等后續(xù)會從隊(duì)列里讀取任務(wù)信息然后執(zhí)行。

最終一致性

在交易或支付系統(tǒng)中,不同的子系統(tǒng)/模塊的狀態(tài)需要最終保持一致,或都成功或都失敗。子系統(tǒng)/模塊之間傳遞的數(shù)據(jù)不能丟失,需要有可靠消息傳遞,能保證業(yè)務(wù)的連續(xù)性。DMS可以用于子系統(tǒng)/模塊間的高可靠數(shù)據(jù)傳遞,實(shí)現(xiàn)兩者之間的事務(wù)最終一致,降低實(shí)現(xiàn)難度和成本。

例如用戶使用儲蓄余額購買理財(cái)產(chǎn)品。由于理財(cái)系統(tǒng)一般對理財(cái)申購交易采用日終統(tǒng)一處理,允許用戶的儲蓄余額與理財(cái)系統(tǒng)資金余額存在一定時(shí)間段的不一致,或者說中間狀態(tài),因此,可以對理財(cái)產(chǎn)品的購買支付流程使用DMS服務(wù)的消息處理機(jī)制,保證儲蓄余額與理財(cái)余額的最終一致,同時(shí)避免系統(tǒng)間對賬不平。

錯(cuò)峰流控

在電子商務(wù)系統(tǒng)或大型網(wǎng)站中,上下游系統(tǒng)處理能力存在差異,處理能力高的上游系統(tǒng)的突發(fā)流量可能會對處理能力低的某些下游系統(tǒng)造成沖擊,需要提高系統(tǒng)的可用性的同時(shí)降低系統(tǒng)實(shí)現(xiàn)的復(fù)雜性。電商大促銷等流量洪流突然來襲時(shí),可以通過隊(duì)列服務(wù)堆積緩存訂單等信息,在下游系統(tǒng)有能力處理消息的時(shí)候再處理,避免下游訂閱系統(tǒng)因突發(fā)流量崩潰。消息隊(duì)列提供億級消息堆積能力,3天的保留時(shí)長,消息消費(fèi)系統(tǒng)可以錯(cuò)峰進(jìn)行消息處理。

日志同步

應(yīng)用通過可靠異步方式將日志消息同步到消息服務(wù),再通過其他組件對日志做實(shí)時(shí)或離線分析,也可用于關(guān)鍵日志信息收集進(jìn)行應(yīng)用監(jiān)控。

使用DMS實(shí)現(xiàn)日志同步一般按以下流程:

日志采集客戶端,負(fù)責(zé)用戶應(yīng)用服務(wù)的日志數(shù)據(jù)采集,以發(fā)送消息方式寫入DMS消息隊(duì)列。

DMS消息隊(duì)列,負(fù)責(zé)日志數(shù)據(jù)的接收、存儲和轉(zhuǎn)發(fā)管理。

日志處理應(yīng)用,訂閱并消費(fèi)DMS消息隊(duì)列中的日志數(shù)據(jù)。