作 者:鄭天民 著
定 價:89
出 版 社:電子工業出版社
出版日期:2021年09月01日
頁 數:268
裝 幀:平裝
ISBN:9787121356544
"√ 冷啟動:無需語言、數據庫及相關工具的較深經驗,即可掌握這一面向Java服務器端開發人員的強大的數據庫分庫分表工具。√ 破瓶頸:有了ShardingSphere的幫助,海量數據的存儲和訪問不再是難題,可結合縱向分庫和橫向分表的設計方法來應對。√ 多功能:面向數據庫分庫分表,提供標準數據分片|分布式事務|數據庫治理功能,適用Java同構|異構語言|雲原生等各場景。√ 普及廣:用戶有京東|搜狐|滴滴|B站|電信|民生銀行|58同城|每日優鮮|首汽約車|海爾|科大訊飛|唯品會|好未來|等
●第1章直面數據分庫分表架構.1
1.1分庫分表簡介.1
1.1.1分庫分表的基本概念.2
1.1.2分庫分表解決方案和代表性框架.7
1.2實現分庫分表.10
1.2.1數據分片.10
1.2.2讀寫分離.11
1.2.3分布式事務.12
1.3初識ShardingSphere.12
1.3.1ShardingSphere設計理念和核心組件.14
1.3.2ShardingSphere解決方案.18
1.4本書架構.21
1.5本章小結.22
第2章引入ShardingSphere.23
2.1ShardingSphere的使用方式.23
2.1.1數據庫和JDBC驅動集成.24
2.1.2開發框架集成.25
2.1.3ORM框架集成.32
2.2ShardingSphere的配置機制.34
2.2.1行表達式.34
2.2.2ShardingSphere的核心配置.35
2.2.3ShardingSphere的配置方式.38
2.2.4ShardingSphere的配置體繫.43
2.3本章小結.51
第3章ShardingSphere整體架構.53
3.1ShardingSphere與JDBC規範.53
3.1.1JDBC規範的核心組件.54
3.1.2ShardingSphere與JDBC規範的兼容性.59
3.2ShardingSphere與微內核架構模式.66
3.2.1微內核架構模式設計原理與實現.66
3.2.2ShardingSphere基於微內核架構模式實現擴展性.71
3.3ShardingSphere與Spring框架.78
3.3.1基於命名空間集成Spring框架.78
3.3.2基於自定義starter集成SpringBoot的實現過程.84
3.4本章小結.89
第4章ShardingSphere數據分片.90
4.1數據分片的核心概念.90
4.1.1綁定表與廣播表.91
4.1.2分片策略與分片算法.92
4.1.3強制路由與Hint機制.97
4.1.4分布式主鍵.99
4.1.5連接模式.109
4.1.6分片引擎.110
4.2數據分片實例分析.117
4.3分片改造之實現分庫.122
4.3.1初始化數據源.122
4.3.2設置分庫策略.123
4.3.3設置綁定表與廣播表.123
4.3.4設置表分片規則.124
4.4分片改造之實現分表.126
4.5分片改造之實現分庫+分表.129
4.6分片改造之實現強制路由.133
4.6.1HintManager.133
4.6.2實現並配置強制路由分片算法.136
4.6.3基於強制路由訪問目標庫表.137
4.7本章小結.140
第5章ShardingSphere讀寫分離.141
5.1讀寫分離與ShardingSphere.141
5.1.1讀寫分離方案.142
5.1.2配置讀寫分離.142
5.2讀寫分離的基礎用法.143
5.2.1讀寫分離的使用方法.143
5.2.2MasterSlaveRouter實現原理.145
5.3讀寫分離集成數據分片.152
5.3.1讀寫分離集成數據分片的實現方法.153
5.3.2ShardingMasterSlaveRouter實現原理.154
5.4讀寫分離集成強制路由.156
5.5本章小結.157
第6章ShardingSphere分布式事務.159
6.1分布式事務的核心概念.159
6.1.1ShardingSphere中的分布式事務.160
6.1.2XA強一致性事務實現方案.162
6.1.3BASE柔性事務實現方案.166
6.2使用XA實現兩階段提交事務.167
6.2.1開發環境準備.167
6.2.2實現XA事務.169
6.2.3XA事務實現原理.176
6.3使用Seata實現最終一致性事務.180
6.3.1開發環境準備.181
6.3.2實現BASE事務.182
6.3.3BASE事務實現原理.182
6.4本章小結.188
第7章ShardingSphere數據脫敏.189
7.1數據脫敏的核心概念.189
7.1.1敏感數據存儲方式.190
7.1.2敏感數據加解密過程.191
7.1.3業務代碼集成數據脫敏.191
7.2數據脫敏的使用方法.193
7.2.1準備數據脫敏.193
7.2.2配置數據脫敏.195
7.2.3執行數據脫敏.203
7.3本章小結.204
第8章ShardingSphere編排治理.205
8.1編排治理解決方案.205
8.1.1配置中心.206
8.1.2注冊中心.207
8.1.3鏈路跟蹤.208
8.2配置中心的使用方法.210
8.2.1準備開發環境.210
8.2.2掌握配置項.211
8.2.3實現配置中心.213
8.3注冊中心的使用方法.217
8.3.1通過注冊中心構建編排治理服務.217
8.3.2使用注冊中心實現數據訪問熔斷.226
8.4鏈路跟蹤的使用方法.230
8.4.1初始化第三方Tracer類.230
8.4.2通過ShardingTracer獲取Tracer類.231
8.4.3基於Hook機制填充Span.233
8.5本章小結.236
第9章ShardingSphere代理服務.237
9.1Sharding-Proxy的使用方法.237
9.1.1安裝和配置.238
9.1.2SQL語句.242
9.1.3SCTL語句.245
9.1.4代碼集成.246
9.2Sharding-Proxy架構解析.246
9.2.1Sharding-Proxy整體架構.247
9.2.2Sharding-Proxy整合Sharding-JDBC.256
9.3本章小結.259
本書分為9章,主要介紹應用ShardingSphere實現分庫分表的一些方法論和工程實踐。通過對ShardingSphere的基本概念、應用方式和整體架構的介紹,幫助讀者掌握ShardingSphere的設計思想和解決方案;然後從Sharding-JDBC和Sharding-Proxy兩款核心組件出發,對分庫分表、讀寫分離、分布式事務、數據脫敏、編排治理及代理服務器等核心功能進行詳細闡述,並結合具體場景給出實例分析和實現過程。本書面向Java服務器端開發人員,讀者不需要有很深的技術水平,也不需要詳細了解分庫分表相關工具,但如果讀者熟悉Java EE常見技術並掌握一定數據訪問基本概念,則有助於讀者更好地理解書中的內容。通過學習本書內容,讀者將對ShardingSphere的基本架構、設計思想和應用方式有更加深入的了解,為後續的工作和學習奠定基礎。同時,本書可以作為具備不同技術體繫的開發人員的等
鄭天民 著
"鄭天民:·日本足利工業大學信息工程學碩士,研究方向為人工智能在大規模調度繫統中的應用,在國際三大科技文獻檢索繫統上發表過多篇論文。·具有十餘年軟件行業從業經驗,曾就職於多家大型上市公司及互聯網電商、健康類獨角獸公司,先後擔任繫統分析架構師、技術總監和CTO等職務。·講授過十餘門面向研發人員的技術和管理類培訓課程,對架構設計和技術管理有豐富的經驗和深入的理解。阿裡雲MVP(Most Valuable Professional,最有價值專家)、騰訊雲TVP(Tencent Cloud Valuable Professional,擁有價值專家)、TGO(Top Geeks' Organizat等