rabbitmq防止消息的重復消費


一、rabbitmq出現消息重復的場景

  A:消息消費成功,事務已經提交,ack時,機器宕機,導致沒有ack成功,

Broker的消息重新由unack變為ready,並發送給其他消費者

  B:消息消費失敗,由於重試機制,自動又將消息發送出去

  C、成功消費,ack時宕機,消息由unack變為ready,Broker又重新發送

解決方案、

  1、消息者的業務消費接口應該設計為冪等性,比如扣庫存有工作單的狀態標志

  2、在數據庫消息表,每當消息到達消費端時,通過對消息的狀態進行判斷,防止消息重復消費


免責聲明!

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



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