电子工业出版社有限公司店铺主页二维码
电子工业出版社有限公司
电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
微信扫描二维码,访问我们的微信店铺

Apache ShardingSphere实战

64.10
运费: 免运费
Apache ShardingSphere实战 商品图0
Apache ShardingSphere实战 商品图1
Apache ShardingSphere实战 商品缩略图0 Apache ShardingSphere实战 商品缩略图1

商品详情

书名:Apache ShardingSphere实战
定价:89.0
ISBN:9787121356544
作者:郑天民
版次:第1版
出版时间:2021-09

内容提要:
本书分为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‘ Organization,鲲鹏会)会员。·著有《系统架构设计:程序员向架构师转型之路》《向技术管理者转型:软件开发人员跨行业、技术、管理的转型思维与实践》《微服务设计原理与架构》《微服务架构实战》《Spring响应式微服务》等书;译有《Spring响应式编程》和《Python深度学习入门:从零构建CNN和RNN》等书。

目录:
第 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.1 ShardingSphere 设计理念和核心组件 .............................................................. 14
1.3.2 ShardingSphere 解决方案 ............................................................................... 18
1.4 本书架构 ................................................................................................................. 21
1.5 本章小结 ................................................................................................................. 22
第 2 章 引入 ShardingSphere ................................................................................................. 23
2.1 ShardingSphere 的使用方式 ....................................................................................... 23
2.1.1 数据库和 JDBC 驱动集成 .............................................................................. 24
2.1.2 开发框架集成 ............................................................................................... 25
2.1.3 ORM 框架集成 ............................................................................................. 32
2.2 ShardingSphere 的配置机制 ....................................................................................... 34
2.2.1 行表达式 ...................................................................................................... 34
2.2.2 ShardingSphere 的核心配置 ............................................................................ 35
2.2.3 ShardingSphere 的配置方式 ............................................................................ 38
Apache ShardingSphere 实战
VI
2.2.4 ShardingSphere 的配置体系 ............................................................................ 43
2.3 本章小结 ................................................................................................................. 51
第 3 章 ShardingSphere 整体架构 .......................................................................................... 53
3.1 ShardingSphere 与 JDBC 规范 .................................................................................... 53
3.1.1 JDBC 规范的核心组件 .................................................................................. 54
3.1.2 ShardingSphere 与 JDBC 规范的兼容性 ........................................................... 59
3.2 ShardingSphere 与微内核架构模式 ............................................................................. 66
3.2.1 微内核架构模式设计原理与实现 .................................................................... 66
3.2.2 ShardingSphere 基于微内核架构模式实现扩展性 ............................................. 71
3.3 ShardingSphere 与 Spring 框架 ................................................................................... 78
3.3.1 基于命名空间集成 Spring 框架 ...................................................................... 78
3.3.2 基于自定义 starter 集成 Spring Boot 的实现过程 .............................................. 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.1 HintManager ............................................................................................... 133
4.6.2 实现并配置强制路由分片算法 ..................................................................... 136
4.6.3 基于强制路由访问目标库表 ........................................................................ 137
目录
VII
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.2 MasterSlaveRouter 实现原理 ......................................................................... 145
5.3 读写分离集成数据分片 ........................................................................................... 152
5.3.1 读写分离集成数据分片的实现方法 .............................................................. 153
5.3.2 ShardingMasterSlaveRouter 实现原理 ............................................................ 154
5.4 读写分离集成强制路由 ........................................................................................... 156
5.5 本章小结 ............................................................................................................... 157
第 6 章 ShardingSphere 分布式事务 .................................................................................... 159
6.1 分布式事务的核心概念 ........................................................................................... 159
6.1.1 ShardingSphere 中的分布式事务 ................................................................... 160
6.1.2 XA 强一致性事务实现方案 ......................................................................... 162
6.1.3 BASE 柔性事务实现方案 ............................................................................ 166
6.2 使用 XA 实现两阶段提交事务 ................................................................................. 167
6.2.1 开发环境准备 ............................................................................................. 167
6.2.2 实现 XA 事务 ............................................................................................. 169
6.2.3 XA 事务实现原理 ....................................................................................... 176
6.3 使用 Seata 实现*终一致性事务 .............................................................................. 180
6.3.1 开发环境准备 ............................................................................................. 181
6.3.2 实现 BASE 事务 ......................................................................................... 182
6.3.3 BASE 事务实现原理 ................................................................................... 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
Apache ShardingSphere 实战
VIII
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.1 Sharding-Proxy 的使用方法 ..................................................................................... 237
9.1.1 安装和配置 ................................................................................................ 238
9.1.2 SQL 语句 ................................................................................................... 242
9.1.3 SCTL 语句 ................................................................................................. 245
9.1.4 代码集成 .................................................................................................... 246
9.2 Sharding-Proxy 架构解析 ......................................................................................... 246
9.2.1 Sharding-Proxy 整体架构 ............................................................................. 247
9.2.2 Sharding-Proxy 整合 Sharding-JDBC ............................................................. 256
9.3 本章小结 ............................................................................................................... 259
电子工业出版社有限公司店铺主页二维码
电子工业出版社有限公司
电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
扫描二维码,访问我们的微信店铺

Apache ShardingSphere实战

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏