支付回撥訊息的分散式鎖設計

oktokeep發表於2024-04-21

支付回撥訊息的分散式鎖設計

業務系統接收支付系統傳送的MQ訊息,然後推動業務邏輯及訂單狀態的處理。
如果非正常情況下,支付系統接收到多次第三方支付系統的多次回撥,導致會傳送多次MQ訊息。
導致業務系統支付資料等重複操作。

首先需要做支付通知後的冪等處理(接收端)
其次是對接收到的訊息做分散式鎖,避免訊息的重複。可以將支付ID,支付方式(支付or退款),支付流水號(qn)作為聯合key來鎖定

最後可以在MQ傳送端做控制,也可以達到目的。

相關文章