MQ使用注意事項

一、什麼時候使用MQ?

1、上游不關心多下游執行結果,例如:

  • 支付成功的後續處理,包括給商戶賬戶入賬、後臺通知商戶結果等,只需確保消息通知到商戶入賬服務和商戶通知服務等就可。

  • 會員/商戶 使用賬戶支付成功,給會員/商戶發送的郵件、短信通知等

  • ...

2、數據驅動的任務依賴,例如:

  • 商戶定時結算的處理:日終批量生成商戶待結算記錄後發起批量做結算打款處理,可以修改為 “日終時每生成一個待結算記錄後,發起一個消息通知到 結算打款服務,由打款服務處理處理待待結算記錄去打款”,可提升結算的效率、避免數據集中處理帶來的數據庫壓力,還可把兩個處理解耦。

  • ...

3、上游關心下游執行結果但下游執行時間長,例如:

  • 定時調度與(耗時的)定時任務處理,兩者之間可使用MQ,定時服務觸發定時事件發到消息隊列,定時任務監聽消息隊列,收到事件通知後處理任務,處理完成後放到結果消息隊列中。

二、什麼時候不使用MQ?

1、需要實時(毫秒級)獲得下游執行的結果。


分享到:


相關文章: