人妻夜夜爽天天爽三区丁香花-人妻夜夜爽天天爽三-人妻夜夜爽天天爽欧美色院-人妻夜夜爽天天爽免费视频-人妻夜夜爽天天爽-人妻夜夜爽天天

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

MQ如何實(shí)現(xiàn),消息必達(dá)到?

admin
2025年1月6日 10:44 本文熱度 452
MQ能不能實(shí)現(xiàn)消息必達(dá)?

要想消息必達(dá),架構(gòu)設(shè)計(jì)上有兩個(gè)核心設(shè)計(jì)點(diǎn):
1. 消息落地;
2. 消息超時(shí)、重傳、確認(rèn);
更具體的,要從MQ的架構(gòu)與流程談起。

MQ的核心架構(gòu)如何?
如上圖所示,MQ的核心架構(gòu)圖分為三大塊:
1. 發(fā)送方 -> 左側(cè)粉色部分;
2. MQ核心集群 -> 中間藍(lán)色部分;
3. 接收方 -> 右側(cè)黃色部分;

粉色發(fā)送方又由兩部分構(gòu)成:
1. 業(yè)務(wù)調(diào)用方;
2. MQ-client-sender;

其中,后者向前者提供了兩個(gè)核心API:
SendMsg(bytes[] msg)
SendCallback()

藍(lán)色MQ核心集群由MQ-server,zk,db,管理后臺(tái)web等一系列子系統(tǒng)組成。

黃色接收方也由兩部分構(gòu)成:
1. 業(yè)務(wù)接收方;
2. MQ-client-receiver

其中,后者向前者也提供了兩個(gè)核心API:
RecvCallback(bytes[] msg)
SendAck()
MQ是一個(gè)系統(tǒng)間解耦的利器,它能夠很好的解除發(fā)布訂閱者之間的耦合,它將上下游的消息投遞解耦成兩個(gè)部分,如上述架構(gòu)圖中的箭頭1和箭頭2:
箭頭1,上半場(chǎng):發(fā)送方將消息投遞給MQ
箭頭2,下半場(chǎng):MQ將消息投遞給接收方

MQ既然將消息投遞拆成了上下半場(chǎng),為了保證消息的可靠投遞,上下半場(chǎng)都必須盡量保證消息必達(dá)。

上半場(chǎng),消息投遞流程如何?
MQ消息投遞上半場(chǎng),流程見上圖123:
1. sender將消息發(fā)送給MQ-server;
2. MQ-server將消息落地;
3. MQ-server回調(diào)sender;

上半場(chǎng),如果消息丟了怎么辦?
答:超時(shí)與重傳。

MQ上半場(chǎng)的123如果丟失或者超時(shí),sender內(nèi)置的timer會(huì)重發(fā)消息,直到收到3。如果重傳N次后還未收到3,則SendCallback向業(yè)務(wù)方回調(diào)發(fā)送失敗。

下半場(chǎng),消息投遞流程如何?
?
MQ消息投遞下半場(chǎng),流程見上圖456:
4. MQ-server回調(diào)reciever;
5. reciever收到消息,處理業(yè)務(wù)邏輯,將ACK發(fā)送給MQ-server;
6. MQ-server收到ACK,將之前已經(jīng)落地的消息刪除,流程結(jié)束;

下半場(chǎng),如果消息丟了怎么辦?
答:還是超時(shí)與重傳。

MQ下半場(chǎng)的456如果丟失或者超時(shí),MQ-server內(nèi)置的timer會(huì)重發(fā)消息,直到收到5并且成功執(zhí)行6。

上下半場(chǎng)都要超時(shí)重發(fā),策略如何?
常見的策略有兩種:
1. 定時(shí)重發(fā),每隔10秒發(fā)一次,直到超出次數(shù);
2. 指數(shù)退避,先隔x秒重發(fā),2x秒重發(fā),4x秒重發(fā),以此類推;

總結(jié)
1. MQ是系統(tǒng)之間的解耦利器,它能解除消息發(fā)送方與接收方的直接耦合;
2. MQ將消息投遞解耦成了上下兩個(gè)半場(chǎng);
3. MQ消息必達(dá),架構(gòu)上有兩個(gè)核心設(shè)計(jì)點(diǎn):
 - 消息落庫
 - 消息超時(shí)、重傳、確認(rèn)

未盡事宜
消息重發(fā)可能導(dǎo)致收到重復(fù)的消息,如何進(jìn)行架構(gòu)冪等性設(shè)計(jì),下次撰文另述。

知其然,知其所以然。
思路比結(jié)論更重要。

補(bǔ)充閱讀材料:
《MQ系統(tǒng)設(shè)計(jì)
https://www.geeksforgeeks.org/message-queues-system-design/


==全文完==


該文章在 2025/1/6 10:44:29 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产麻豆精品手机在线观看 | 国产剧情在线视频 | 精品无码一区专区国产 | 精品久久久影院 | 成年免费大片黄在线观看视频 | 日本欧美成人免费 | 日本一道本在线视频 | 在线观看精品亚洲区一区二区 | 精品成人资源在线观看 | 久久久999久久久精品 | 国产欧美一区二区三区网站 | 久久日本精品在线热 | 国产无人区码一码二码三码区别 | 九九精品国产亚洲A片无码 九九精品黄色视频 | 国产真实乱子伦新视频 | 国产卡1卡2卡三卡 | 精品国产av无码久久久 | 精品乱码一区二区三区四区 | 毛片无码一区二区三区a片视频 | 黑人一区二区三区中文字幕 | 天天干天天插天天操 | 国产成人精品影视 | 中文国产乱码在线人妻一区二区 | 日韩中文字幕在线视频 | 日日视频 | a级毛片在线视频免费观看 a级毛片中文字幕不卡 | 国产精品原创av在线播放 | 91羞羞网站 | 高清大片国产片 | 久久久久久精品东京热 | 国产在线天堂色精品一区在线中文字 | 1769国内精品视频在线 | 日韩国产午夜一区二区三区 | 天堂岛WWW最新版在线资源 | 无码一区二区三区 | a级毛片免费观看网站 | 成年人免费三级片 | 国产精品成人午夜电影 | 国产麻豆精品久久一二三 | 91香蕉视频黄色 | 国产美女无遮挡免费视频网站 |