分散式事務解決方案(四)【最大努力通知】

風靈使發表於2018-07-31

4. 最大努力通知方案(定期校對)

4.1 介紹

image

  • 實現
    • 業務活動的主動方,在完成業務活動處理後,向業務活動被動方傳送訊息,允許訊息丟失
    • 業務活動的被動方根據定時策略,向業務活動的主動方查詢,恢復丟失的業務訊息
  • 約束:被動方的業務處理結果不影響主動方的業務處理
  • 成本:業務查詢與校對系統建設成本
  • 適用範圍
    • 對時間敏感性較低的業務
    • 對賬
  • 用到的服務模式:可查詢操作
  • 方案特點
    • 業務活動的主動方在完成業務處理後,向業務活動被動方傳送通知訊息(允許訊息丟失)
    • 主動方可以設定時間階梯型通知規則,在通知失敗後按規則重複通知,直到通知N次後不再通知
    • 主動方提供校對查詢介面給被動方,被動方按需校對查詢,用於恢復丟失的業務訊息
  • 行業應用案例
    • 銀行通知,商戶通知等
    • 對賬檔案

4.2 設計實現

  • 定時任務佇列

4.3 優化

  1. 通知記錄/通知日誌視覺化,手工觸發
  2. 考慮吧通知服務做的更通用,通知佇列區分,不同佇列不同規則等
  3. 保證通知服務的可用性,必要時建立獨立的資料庫
  4. 要求被動方處理通知接收的業務介面要實現冪等性
  5. 記憶體調優與流量控制(生產速率不匹配,導致大量訊息駐留在消費端記憶體中)

相關文章