MySQL多活數據消費服務設計方案
- 2019 年 11 月 24 日
- 筆記
數據應用服務的設計主要是提供數據調用介面消費數據,可以進行服務消費模式和場景進行橫向擴展。
1 應用數據消費的三種模式
數據雙向複製在業務壓力較大時,因為源端的寫入是採用了並發多執行緒寫入模式,在目標端消費為了保證數據一致性,默認情況下是需要串列執行的,在保證數據一致性的同時,因為消費處理是基於單執行緒模式,很可能會出現較大的數據延遲。
對於目標端數據消費,基於MySQL自動提交的模式,會默認存在事務,在設計時主要基於如下三種消費模式:
1)事務基於單表
2)事務基於多表
3)大事務
2 事務消費的流程圖
流程圖如下,在迴路的設計上還需要再微調一版。

3 應用服務分散式設計
應用服務的部署架構類似下面的形式,主要面向單表事務和大事務場景,可以根據服務情況進行擴展。

其實看起來很簡單的消費,裡面的門道有很多,從設計階段就能看到坑應該不少。