一、微服務-中間件-消息組件
生產者
發出帶流水號(惟一)訂單消息。調用消息組件。微服務
消息組件
- 消息組件-消息表:id爲生產者的流水號。(具有冪等性)
- 生產者發佈請求,查詢消息表,判斷流水號是否存在,存在,不發送到mq;不存在:發送到mq,消息表插入記錄,消息狀態爲「已發送」。
- 收到消費者反饋,處理完成請求。將消息置爲「處理成功」。
- 補償機制-定時任務,不單單要mq自身的重試機制,還要有任務補償機制,即掃描消息表,狀態=「已發送」且發送時間>當前時間-n(n不爲0)的數據進行重試,要有時間間隔。
消費者
收到mq消息,調用消息組件。spa