作品简介

本书的广度与深度兼备、理论与实战兼顾的分布式事务专著,它从基础知识、解决方案、原理分析、源码实现、工程实战5个维度对分布式事务做了全面、细致的讲解,试图解决你在实践中遇到的所有关于分布式事务的问题。两位作者都是分布式事务领域的资深架构专家,是Apache ShenYu(incubating)网关创始人、Hmily、RainCat、Myth等分布式事务框架的创始人。本书因为内容扎实,所以得到了来自京东、阿里、腾讯、蚂蚁金服、滴滴、饿了么、58集团、IBM等互联网大厂及Apache软件基金会的近20位专家的高度评价。基础知识维度:首先全面介绍了事务和分布式事务的概念和基础知识,然后详细讲解了MySQL事务和Spring事务的实现原理;解决方案维度:详细介绍了分布式事务的各种解决方案,包括强一致性分布式事务解决方案和最终一致性分布式事务解决方案;原理分析维度:详细讲解了分布式事务的原理,包括XA强一致性分布式事务、TCC分布式事务、可靠消息最终一致性分布式事务和最大努力通知型分布式事务的原理。源码实现维度:深入分析了Atomikos,Narayana框架实现XA强一致性分布式事务解决方案的源码,以及Dromara开源社区的Hmily分布式事务框架实现TCC分布式事务的源码;工程实践维度:通过多个在生产环境中经历了高并发、大流量考验的综合案例,讲解了XA强一致性分布式事务、TCC分布式事务、可靠消息最终一致性分布式事务和最大努力通知型分布式事务的工程实践方法。全书配有大量流程图和原理图,便于读者阅读理解;精选了大量来自生产环境的完整案例及其代码,便于读者动手实践。阅读本书,你将体验到事半功倍的效果。

肖宇,分布式事务架构专家,Apache ShenYu(incubating)网关创始人,Dromara开源组织创始人,Hmily、RainCat、Myth等分布式事务框架的作者,Apache ShardingSphere提交者。

热爱开源,追求优雅代码。有丰富的微服务架构经验,尤其擅长微服务技术栈中的分布式事务、微服务架构、分布式数据库、API网关等解决方案。

冰河,互联网高级技术专家、MySQL技术专家、分布式事务架构专家。

多年来,一直致力于分布式系统架构、微服务、分布式数据库、分布式事务与大数据技术的研究,在高并发、高可用、高可扩展性、高可维护性和大数据等领域拥有丰富的架构经验。

可视化多数据源数据异构中间件mykit-data作者;《海量数据处理与大数据技术实战》和《MySQL技术大全:开发、优化与运维实战》作者;“冰河技术”微信公众号维护者。

作品目录

  • 关于本书
  • 推荐语
  • 前言
  • 第一部分 分布式事务基础
  • 第1章 事务的基本概念
  • 1.1 事务的特性
  • 1.2 事务的类型
  • 1.3 本地事务
  • 1.4 MySQL事务基础
  • 1.5 本章小结
  • 第2章 MySQL事务的实现原理
  • 2.1 Redo Log
  • 2.2 Undo Log
  • 2.3 BinLog
  • 2.4 MySQL事务流程
  • 2.5 MySQL中的XA事务
  • 2.6 本章小结
  • 第3章 Spring事务的实现原理
  • 3.1 Spring事务原理
  • 3.2 Spring事务三大接口
  • 3.3 Spring事务隔离级别
  • 3.4 Spring事务传播机制
  • 3.5 Spring事务嵌套最佳实践
  • 3.6 Spring事务失效的场景
  • 3.7 本章小结
  • 第4章 分布式事务的基本概念
  • 4.1 分布式系统架构
  • 4.2 分布式系统架构演进
  • 4.3 分布式事务场景
  • 4.4 数据一致性
  • 4.5 本章小结
  • 第5章 分布式事务的理论知识
  • 5.1 CAP理论
  • 5.2 Base理论
  • 5.3 本章小结
  • 第二部分 分布式事务解决方案
  • 第6章 强一致性分布式事务解决方案
  • 6.1 强一致性事务概述
  • 6.2 DTP模型
  • 6.3 2PC模型
  • 6.4 3PC模型
  • 6.5 本章小结
  • 第7章 最终一致性分布式事务解决方案
  • 7.1 最终一致性分布式事务概述
  • 7.2 服务模式
  • 7.3 TCC解决方案
  • 7.4 可靠消息最终一致性解决方案
  • 7.5 最大努力通知型解决方案
  • 7.6 本章小结
  • 第三部分 分布式事务原理
  • 第8章 XA强一致性分布式事务原理
  • 8.1 X/Open DTP模型与XA规范
  • 8.2 MySQL对XA规范的支持
  • 8.3 XA规范的问题思考
  • 8.4 主流的解决方案
  • 8.5 本章小结
  • 第9章 TCC分布式事务原理
  • 9.1 TCC核心思想
  • 9.2 TCC实现原理
  • 9.3 TCC核心流程
  • 9.4 TCC关键技术
  • 9.5 本章小结
  • 第10章 可靠消息最终一致性分布式事务原理
  • 10.1 基本原理
  • 10.2 本地消息表
  • 10.3 独立消息服务
  • 10.4 RocketMQ事务消息
  • 10.5 消息发送的一致性
  • 10.6 消息接收的一致性
  • 10.7 消息的可靠性
  • 10.8 本章小结
  • 第11章 最大努力通知型分布式事务原理
  • 11.1 适用场景
  • 11.2 方案特点
  • 11.3 基本原理
  • 11.4 异常处理
  • 11.5 本章小结
  • 第四部分 分布式事务源码与实战
  • 第12章 XA强一致性分布式事务解决方案源码解析
  • 12.1 分布式数据一致性场景的搭建
  • 12.2 ShardingSphere对XA分布式事务方案的整合
  • 12.3 ShardingSphere对Atomikos方案的实战与源码解析
  • 12.4 ShardingSphere对Narayana方案的实战与源码解析
  • 12.5 本章小结
  • 第13章 Hmily-TCC分布式事务解决方案源码解析
  • 13.1 Hmily-TCC分布式场景的搭建
  • 13.2 Hmily框架初始流程源码解析
  • 13.3 Hmily-TCC分布式事务源码解析
  • 13.4 Hmily对RPC框架的支持
  • 13.5 Hmily-TCC事务恢复源码解析
  • 13.6 本章小结
  • 第14章 XA强一致性分布式事务实战
  • 14.1 场景说明
  • 14.2 程序模块说明
  • 14.3 数据库表设计
  • 14.4 程序实现
  • 14.5 测试程序
  • 14.6 本章小结
  • 第15章 TCC分布式事务实战
  • 15.1 场景说明
  • 15.2 程序模块说明
  • 15.3 数据库表设计
  • 15.4 实现项目公共模块
  • 15.5 实现转出银行微服务
  • 15.6 实现转入银行微服务
  • 15.7 测试程序
  • 15.8 本章小结
  • 第16章 可靠消息最终一致性分布式事务实战
  • 16.1 场景说明
  • 16.2 程序模块说明
  • 16.3 RocketMQ环境搭建与测试
  • 16.4 数据库表设计
  • 16.5 实现订单微服务
  • 16.6 实现库存微服务
  • 16.7 测试程序
  • 16.8 本章小结
  • 第17章 最大努力通知型分布式事务实战
  • 17.1 场景说明
  • 17.2 程序模块说明
  • 17.3 数据库表设计
  • 17.4 实现账户微服务
  • 17.5 实现充值微服务
  • 17.6 测试程序
  • 17.7 本章小结
展开全部