《正本清源分散式事務之Seata(全彩)》是電子工業出版社出版圖書,作者是姜宇,馮艷娜
深入分析了Seata技術原理,包括AT模式、TCC模式、RPC設計、事務協調器等關鍵技術,對源碼進行了深入的剖析
基本介紹
- 中文名:正本清源分散式事務之Seata(全彩)
- 作者:姜宇、馮艷娜
- 出版社:電子工業出版社
- 出版時間:2021年11月
- 頁數:224 頁
- 定價:109 元
- 開本:16 開
- ISBN:9787121421648
內容簡介,圖書目錄,作者簡介,
內容簡介
作者結合其多年在分散式事務領域設計、研發和套用的經驗,並給出了兩個開發實例(AT模式和TCC模式)。
圖書目錄
第1篇 分散式事務技術基礎
第1章 事務與分散式事務 2
1.1 事務及ACID特性 2
1.1.1 原子性(Atomicity) 2
1.1.2 一致性(Consistency) 3
1.1.3 隔離性(Isolation) 4
1.1.4 持久性(Durability) 6
1.2 XA兩階段提交協定 6
1.2.1 兩階段提交協定的執行過程 7
1.2.2 兩階段提交協定的缺點 8
1.3 分散式基礎之CAP和BASE理論 8
1.3.1 CAP理論 9
1.3.2 BASE理論 10
1.4 TCC柔性事務 12
1.5 基於訊息的最終一致性 13
1.5.1 問題示例 14
1.5.2 解決方案 15
第2篇 Seata原理詳解
第2章 Seata簡介 18
2.1 Seata發展歷史 18
2.2 Seata總體架構 19
2.2.1 模組組成 19
2.2.2 邏輯結構 21
2.3 Seata 事務模式 22
2.3.1 AT模式 22
2.3.2 TCC模式 23
2.3.3 Saga模式 25
2.3.4 XA模式 27
第3章 Seata AT模式 28
3.1 AT模式的基本原理 28
3.1.1 工作流程示例 29
3.1.2 事務日誌表 30
3.1.3 事務日誌管理器 41
3.2 Seata的數據源代理 43
3.2.1 數據源代理類 43
3.2.2 資源管理器 46
3.2.3 資料庫連線代理 51
3.2.4 StatementProxy與PreparedStatementProxy 65
3.3 AT模式的兩階段提交 87
3.3.1 一階段處理 87
3.3.2 二階段的提交處理 89
3.3.3 二階段的回滾處理 95
第4章 Seata TCC模式 108
4.1 TCC模式介紹 108
4.1.1 TCC模式與AT模式對比 108
4.1.2 TCC模式的設計方法 110
4.2 TCC模式的實現原理 112
4.2.1 TCC模式的註解 112
4.2.2 TCC模式的資源註冊 113
4.2.3 TCC模式的事務發起 118
第5章 Seata RPC設計 124
5.1 網路通信 124
5.2 事務訊息類型 131
5.3 訊息序列化 133
5.3.1 資源管理器註冊訊息的編/解碼 139
5.3.2 分支事務註冊訊息的編/解碼 143
5.3.3 合併訊息的編/解碼 146
第6章 Seata事務協調器 150
6.1 服務端的啟動流程 150
6.2 默認的事務協調器 152
6.3 事務的訊息處理 158
6.3.1 全局事務開始事件GlobalBeginRequest的處理過程 159
6.3.2 全局事務提交事件GlobalCommitRequest的處理過程 161
6.4 事務的二階段推進 164
6.5 全局鎖的原理 167
6.5.1 檔案鎖管理器的添加全局鎖 170
6.5.2 檔案鎖管理器的釋放全局鎖 176
第3篇 Seata開發實戰
第7章 Seata AT模式開發實例 180
7.1 AT模式樣例簡介 180
7.2 準備工作 181
7.3 運行樣例工程 184
7.4 驗證AT模式分散式事務 186
第8章 Seata TCC模式開發實例 194
8.1 TCC模式樣例簡介 194
8.1.1 扣錢業務的TCC模式實現 196
8.1.2 加錢業務的TCC模式實現 199
8.1.3 轉賬業務的全局事務 202
8.2 運行樣例工程 204
8.2.1 測試全局事務提交 205
8.2.2 測試全局事務回滾 208
8.3 缺陷分析 210
姜宇
阿里分散式事務 GTS 創始人,開源軟體 SEATA 作者。
現任職於華為雲計算,20 級技術專家。
之前任職於阿里中間件團隊,高級技術專家。
之前任職於Oracle Tuxedo團隊,主任工程師。
個人擁有26個發明專利。