RabbitMQ消息如何100%投遞成功(六)


消息如何保障100%的投遞成功?

  什么是生產端的可靠性投遞?

    保障消息的成功發出

    保障MQ節點的成功接收

    發送端收到MQ節點(Broker)確認應答

    完善的消息進行補償機制(如網絡問題沒有返回確認應答)

 

  生產端的可靠性投遞(一)

    BAT/TMD互聯網大廠的解決方案:(根據業務和並發量來選擇)

      消息落庫,對消息狀態進行打標(進行變更消息狀態)

      消息的延遲投遞,做二次確認,回調檢查

        第一步進行數據的落庫存儲(持久化成功)保存狀態,第二步發送消息,Broker收到消息,

        第三步將受到的結果應答給生產端,生產端異步監聽消費者返回的響應,

        數據刷去出來更新消息的狀態,表示消息百分百成功

        發送應答如果網絡閃斷的話,消息狀態永遠是初始狀態,

        設置規定,分布式任務用來保證同一個時間點抓取消息,消息超時之后還是初始狀態,

        將消息抽取出來,繼續投遞。

  

  生產端可靠性投遞(二):

    保障MQ如果第一種可靠性投遞,在高並發場景下是否合適?

    消息的延遲投遞,做二次確認,回調檢查

    先持久化數據在發送消息

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM