分布式事务开山之作,带你深入理解分布式事务
随着互联网的不断发展,互联网企业的业务在飞速变化,推动着系统架构也在不断地发生变化。总体来说,系统架构大致经历了
单体应用架构→垂直应用架构→分布式架构→SOA 架构→微服务架构的演变。如今微服务技术越来越成熟,很多企业都采用微服务架构来支撑内部及对外的业务,尤其是在高并发大流量的电商业务场景下,微服务更是企业首选的架构模式。
微服务的普及也带来了新的问题。原本单一的应用架构只需要连接一台数据库实例即可完成所有业务操作,业务方法的逻辑在一个事务中即可完成,涉及的所有数据库操作要么全部提交,要么全部不提交,很容易实现数据的一致性。而在微服务架构下,原本单一的应用被拆分为一个个很小的服务,每个服务都有其独立的业务和数据库,服务与服务之间的交互通过接口或者远程过程调用(Remote Procedure Call,RPC)的方式进行,此时,服务与服务之间的数据一致性问题就变得棘手了。
因为微服务这种架构模式本质上就是多个应用连接多个数据库共同完成一组业务逻辑,所以数据一致性问题就凸显出来了。除此之外,多个应用连接同一个数据库和单个应用连接多个数据库也会产生数据一致性问题。可以这么说,在互联网行业,任何企业都会或多或少地遇到数据一致性问题。业界将这种数据一致性问题称为分布式事务问题。为了解决分布式事务问题,业界提出了一些著名的理论,比如 CAP 理论和 Base 理论,并针对这些理论提出了很多解决方案,比如解决强一致性分布式事务的 DTP 模型、XA 事务、2PC 模型、3PC 模型,解决最终一致性分布式事务的 TCC、可靠消息最终一致性、最大努力通知型等模型。不少企业和开源组织,甚至个人都基于这些模型实现了比较通用的分布式事务框架。
深入掌握分布式事务已然成为互联网行业中每个中高级开发人员和架构师必须掌握的技能,而熟练掌握分布式事务产生的各种场景和解决方案也成为各大互联网公司对应聘者的基本要求。
《深入理解分布式事务:原理与实战》从实际需求出发,全面且细致地介绍了有关分布式事务的基础知识、解决方案、实现原理和源码实战。
5 个维度全面展开
20 位大厂专家力荐
10 个框架的分布式事务实现
6 种通用分布式事务解决方案
8 种分布式事务原理解析
4 个生产环境综合案例
100 余幅原理图和流程图
1 本书特色
5 个维度展开,分布式事务从 0 到 100
NO.1 基础知识维度
事务和分布式事务的概念和基础知识,MySQL 和 Spring 的事务实现原理
NO.2 解决方案维度
强一致性分布式事务解决方案、Z 终一致性分布式事务解决方案
NO.3 原理分析维度
XA 强一致性分布式事务、TCC 分布式事务、可靠消息 Z 终一致性分布式事务、Z 大努力通知型分布式事务的原理
NO.4 源码实现维度
Atomikos,Narayana 框架实现 XA 强一致性分布式事务解决方案,Hmily 分布式事务框架实现 TCC 分布式事务
NO.5 工程实践维度
XA 强一致性分布式事务、TCC 分布式事务、可靠消息 Z 终一致性分布式事务和 Z 大努力通知型分布式事务的工程实践方法
大量图解和开发案例,学习事半功倍
为了方便读者理解,每章根据需要配有相关的原理图和流程图,并提供完整的实战案例源码。书中的每个解决方案都经过了高并发大流量生产环境的考验,可以直接拿来解决实际生产环境中的分布式事务问题。
图 1-2 本地事务的执行流程
图 8-4 XA 分布式事务流程图
图 10-3 独立消息服务实现的分布式事务
读者可以参考本书的案例进行学习,并运行本书的案例代码,以更深入地理解和掌握分布式事务。这些案例代码和图解的 draw.io 源文件收录于随书资料里,读者可以从下面的链接获取相关内容。
GitHub:https://github.com/dromara/distribute-transaction。
Gitee:https://gitee.com/dromara/distribute-transaction。
2 本书主要内容
本书分为如下四个部分。
第一部分 分布式事务基础(第 1~5 章)
首先介绍事务的基本概念,然后介绍 MySQL 事务和 Spring 事务的实现原理,最后介绍分布式事务的基本概念和理论知识。
第二部分 分布式事务解决方案(第 6~7 章)
以大量图解的方式详细介绍了分布式事务的各种解决方案,包括强一致性分布式事务解决方案和最终一致性分布式事务解决方案。
第三部分 分布式事务原理(第 8~11 章)
以大量图解的方式详细讲解了分布式事务的原理,包括 XA 强一致性分布式事务、TCC 分布式事务、可靠消息最终一致性分布式事务和最大努力通知型分布式事务。
第四部分 分布式事务源码与实战(第 12~17 章)
首先详细讲解了业界比较知名的 ShardingSphere 框架实现 XA 分布式事务的源码,然后详细剖析了 Dromara 开源社区的 Hmily 分布式事务框架实现 TCC 分布式事务的源码,最后分别对 XA 强一致性分布式事务、TCC 分布式事务、可靠消息最终一致性分布式事务和最大努力通知型分布式事务进行了实战案例讲解。
3 读者对象
本书适合以下几类读者阅读:
·互联网从业者,如中高级开发人员、架构师、技术经理、技术专家;
·需要系统学习分布式事务的开发人员;
·需要提高分布式事务开发水平的人员;
·需要时常查阅分布式事务技术资料和开发案例的人员。
4 作者简介
肖宇
分布式事务架构专家
Apache ShenYu(incubating)网关创始人,Dromara 开源组织创始人,Hmily、RainCat、Myth 等分布式事务框架的作者。Apache ShardingSphere Committer。
热爱开源,追求优雅代码。有丰富的微服务架构经验,尤其擅长微服务技术栈中的分布式事务、微服务架构,分布式数据库、API 网关等解决方案。
冰河
互联网高级技术专家、MySQL 技术专家、分布式事务架构专家。
多年来,一直致力于分布式系统架构、微服务、分布式数据库、分布式事务与大数据技术的研究,在高并发、高可用、高可扩展性、高可维护性和大数据等领域拥有丰富的架构经验。
可视化多数据源数据异构中间件 mykit-data 作者;《海量数据处理与大数据技术实战》和《MySQL 技术大全:开发、优化与运维实战》作者;“冰河技术”微信公众号维护者。
5 专家推荐
来自京东、阿里、腾讯、蚂蚁金服、滴滴、饿了么、58 集团、IBM 等互联网大厂及 Apache 软件基金会的近 20 位专家高口碑力荐。
本书从分布式的原理和实践两个维度出发,立体而全面地讲解了分布式事务的基础理论、主流数据库对分布式事务的支持情况、主流分布式框架对分布式事务的实现,并重点解析了 Hmily 开源分布式事务框架项目的核心源码,让读者可以从不同维度了解分布式事务的理论与实现。我衷心希望看到这本书的读者能有巨大的收获,也希望肖宇持之以恒,安心编码,热心著书。
——刘启荣 京东科技技术总监
本书结合了作者在多个开源分布式事务框架项目上积累的经验,详细且全面地阐述了分布式事务的概念、实现原理和最佳实践。建议对这方面感兴趣的读者阅读。
——史少锋 Apache Member、Apache Kylin PMC 主席
本书结合了作者在多个开源分布式事务框架项目上积累的经验,详细且全面地阐述了分布式事务的概念、实现原理和最佳实践。建议对这方面感兴趣的读者阅读。——史少锋 Apache Member、Apache Kylin PMC 主席本书源于企业级真实实践,覆盖完整的分布式事务解决方案。书中通过企业级真实案例,深入浅出地剖析分布式事务的架构设计,是分布式事务领域的实践类好书,推荐阅读。
——孙玄 奈学教育创始人/CEO、前 58 集团技术委员会主席
本书涵盖了分布式事务的概念与理论、分布式事务在不同业务场景中的解决方案与最佳实践以及分布式事务的原理与源码实战,是分布式事务领域不可多得的一本好书。如果要系统性地了解分布式事务,我强烈推荐肖宇和冰河的这本书。
——沈剑 互联网架构专家、快狗打车 CTO
如今,对于分布式事务的讨论已经很多了,虽然有多个分布式事务项目已经开源,但仍在早期的思想框架内。本书对分布式事务做了全面的梳理和总结,值得推荐。
——于君泽 某互联网大厂资深技术专家,《深入分布式缓存》联合作者
在分布式应用系统中,特别是在金融相关的场景下,分布式事务是大家都关注的核心技术,同样也是系统的技术难点。本书从数据库和服务的分布式基础开始,由浅入深阐述了分布式事务的原理、解决方案。这种以框架开发者视角分享的分布式事务实现的源码和实践用例,对于应用架构师和开发者都有极大的价值。
——郑灏 京东科技高级技术总监
分布式事务是伴随分布式数据库架构发展而衍生出的关键技术,是影响分布式数据库市场竞争力的关键。本书深入浅出地讲解了分布式事务的基本原理和应用实践,具有很好的指导意义,适合数据库研发人员、数据库架构师和 DBA。
——高新刚 京东科技数据库研发负责人
本书深入浅出、通俗易懂,不论是对入门型还是进阶型的微服务爱好者都有一定的指导和借鉴意义。
——沈建林 京东科技中间件团队负责人
如今,越来越多的企业开始面向广阔的数字生态搭建企业应用,而对这些需要升级技术底座的企业来说,分布式事务成为要解决的关键性技术问题,相信这本书一定能很好地帮读者答疑解惑!
——付晓岩 IBM 副合伙人、资深企业级业务架构专家、
《企业级业务架构设计:方法论与实践》和《银行数字化转型》作者
本书从事务的基本概念、数据强一致性模型的 2PC 与 3PC 实现,到 Base 补偿式事务等方面,详细描述了分布式事务的应用场景以及多种分布式系统架构的演进。这是一本深入讲解分布式事务原理和丰富应用的很好的参考书。
——刘勋 滴滴大数据高级技术专家,Apache Hadoop/Zeppelin 提交者、
Submarine 提交者及 PMC
本书由浅入深地介绍了各分布式事务的优缺点和适用场景,理论结合实践,大大减少了事务相关资料阅读与理解的难度,对于想深入学习事务的读者来说非常值得入手!
——代立冬 Apache DolphinScheduler PMC 主席、Apache Incubator PMC
本书以开源分布式框架作者的视角,全面总结了事务的核心技术,内容涵盖了广泛使用的 MySQL 和 Spring 的事务机制、业界分布式事务架构理论以及源码与实战,适合希望深入理解事务机制、提升软件设计与架构经验的读者阅读。
——杨晓峰 腾讯专家工程师、腾讯硬件委员会执委、开源联盟主委会成员、
大数据专家团成员、OpenJDK 提交者
专门以事务为主题的图书并不常见。本书系统地梳理了事务的概念,针对数据库到中间件和框架类的事务实现,带领读者抽丝剥茧,帮助读者从全景到细节,建立对事务的深入理解,是工程师深度探索技术的优质读物。
——张亮 Apache ShardingSphere PMC 主席、SphereEx CEO
本书由浅入深、由点到面,完整地将分布式事务相关理论、解决方案以及源码实战呈现在读者面前。推荐给正在寻求突破和快速成长的技术人。
——曾波(波姐) 资深互联网架构师、《Java 性能优化实践》译者
本书不仅包含了肖宇和冰河积累多年的实战经验,更从多种场景出发,详解可落地方案,而且从多种分布式事务框架的使用和原理入手,带领读者一步步揭开分布式事务的面纱。这本书非常不错,强烈推荐大家阅读学习。
——程超 《高可用可伸缩微服务架构》作者
本书作者在微服务领域深耕多年,拥有深厚的分布式事务开发经验,不仅在公司主导一线开发,同时也是开源分布式事务框架 Hmily 项目的作者。本书字里行间蕴含着作者对分布式事务独到的见解,内容上不仅有原理和业界主流的解决方案,还包含了一线项目的实战和源码解析。无论是刚入门的开发者,还是从事开发和研究工作多年的资深工程师,本书都会让你受益匪浅。
——张永伦 Apache ShardingSphere PMC/ Apache ShenYu PPMC
本书从 MySQL InnoDB 引擎的事务实现讲起,逐步扩展到分布式事务场景,从原理到工程实践,理论结合实践,是分布式事务领域的经典之作,无论是对分布式事务的初学者还是具有一定开发实践经验的工程师或架构师,都有一定的参考和借鉴意义。
——于雨 蚂蚁金服 dubbo go 项目负责人
冰河是一个对技术非常严谨和有追求的人,尤其对分布式领域的分布式事务有着深刻的理解和丰富的架构经验。本书把分布式事务的基础、原理、解决方案和实战都讲得非常透彻,强烈推荐每一位程序员阅读。
——程军 公众号“军哥手记”维护者,前饿了么技术总监
无论是传统的单体架构,还是目前主流的分布式架构,事务都是绕不开的技术难题。本书从基本概念到原理介绍,再到主流的解决方案,系统地梳理了分布式事务的核心知识,既有理论,又有实战,对于微服务设计有很好的指导意义,也是市面上围绕这一主题少见的有深度的好书。
——骆俊武 京东新零售业务机构负责人
扫码抢购
评论