原文:《以交易系統為例,看分散式事務架構的五大演進》http://www.tuicool.com/articles/jUVFBbb 原文結構: 概述 單資料庫事務 基於後置提交的資料庫事務 兩段式事務 TCC事務 最終一致性 介紹了分散式資料庫/服務 ,數據一致性方案的演進,針對業務重要性及對一致性 ...
原文:《以交易系統為例,看分散式事務架構的五大演進》http://www.tuicool.com/articles/jUVFBbb
原文結構:
- 概述
- 單資料庫事務
- 基於後置提交的資料庫事務
- 兩段式事務
- TCC事務
- 最終一致性
介紹了分散式資料庫/服務 ,數據一致性方案的演進,針對業務重要性及對一致性的要求,可使用不同的方案保證一致性。
主要有方案:
1. XA 事務,兩段式事務:prepare提交--》confirm提交
prepare提交為重提交,成功後,confirm提交一般都會成功;
不足:極端情況下,第二個事務的confirm失敗,導致第一個事務無法回滾。
使用:主流資料庫 oracle,mysql支持
2. TCC, TRY-CONFIRM-CANCEL
編程模式,SOA服務提供3個介面完成事務;
不足:併發時性能較低
使用:強一致性場景
3. 最終一致性
概念:
強一致性: 請求結束,保證一致性;
最終一致性: 請求結束後,不保證一致性,由其它任務進行補償/回退操作,保證一致性;
方案:
消息隊列實時觸發數據補償;
定時任務觸發數據補償;