分片維度
1.哈希切片
2.時間切片(適合有明顯時間特點的數據
分佈式事務
1.兩階段提交協議
方案:分爲準備階段與提交階段,等待所有參與者準備完成後再提交。
優點:基於該協議,事務管理器能最大限度保證跨數據庫事務的原子性,是分佈式系統環境下最嚴格的實現方案。
缺點:性能問題,難以進行水平伸縮,鎖定資源與消費資源之間時間差隨參與者數目增加而拉長,易產生死鎖或拖慢響應速度。在互聯網行業中不常使用。
2.最大努力保證模式
方案:更新多個資源時,將提交儘量延後到最後一刻處理,方便回滾。非常通用。
優點:性能損耗較少。
缺點:多個分佈式操作可能相互嵌套,需要對資源提交順序進行充分考慮與評估,才能規避風險。
3.事務補償機制
方案:跨庫操作通過補償與重試保證一致性。
優點:性能損耗較少,較爲方便處理。
缺點:需要記錄環境、信息、狀態、步驟等,後續通過重試達到一致性。
事務路由
1.自動提交的事務路由
依賴JDBC數據源的自動提交事務特性,不需要手動操作與配置,但只能滿足簡單的業務邏輯需求。
2.可編程事務路由
通常採用Spring的聲明式事務管理數據庫,通過配置文件使用。
3.聲明式事務路由
一般通過註解實現。