随着互联网的不断发展,互联网企业的业务在飞速变化,推动着系统架构也在不断地发生变化。总体来说,系统架构大致经历了
单体应用架构→垂直应用架构→分布式架构→SOA架构→微服务架构的演变。
如今微服务技术越来越成熟,很多企业都采用微服务架构来支撑内部及对外的业务,尤其是在高并发大流量的电商业务场景下,微服务更是企业首选的架构模式。
微服务的普及也带来了新的问题。原本单一的应用架构只需要连接一台数据库实例即可完成所有业务操作,业务方法的逻辑在一个事务中即可完成,涉及的所有数据库操作要么全部提交,要么全部不提交,很容易实现数据的一致性。
而在微服务架构下,原本单一的应用被拆分为一个个很小的服务,每个服务都有其独立的业务和数据库,服务与服务之间的交互通过接口或者远程过程调用(Remote Procedure Call,RPC)的方式进行,此时,服务与服务之间的数据一致性问题就变得棘手了。
因为微服务这种架构模式本质上就是多个应用连接多个数据库共同完成一组业务逻辑,所以数据一致性问题就凸显出来了。除此之外,多个应用连接同一个数据库和单个应用连接N个数据库也会产生数据一致性问题。可以这么说,在互联网行业,任何企业都会或多或少地遇到数据一致性的问题。业界将这种数据一致性问题称为****分布式事务问题。
为了解决分布式事务问题,业界提出了一些著名的理论,比如CAP理论和Base理论,并针对这些理论提出了很多解决方案,比如解决强一致性分布式事务的DTP模型、XA事务、2PC模型、3PC模型,解决最终一致性分布式事务的TCC、可靠消息最终一致性、最大努力通知型等模型。不少企业和开源组织,甚至个人都基于这些模型实现了比较通用的分布式事务框架。
深入掌握分布式事务已然成为互联网行业中每个中高级开发人员和架构师必须掌握的技能,而熟练掌握分布式事务产生的各种场景和解决方案也成为各大互联网公司对应聘者的基本要求。而今天阿嘴给大家分享的这份《深入理解分布式事务:原理与实战》从实际需求出发,全面且细致地介绍了有关分布式事务的基础知识、解决方案、实现原理和源码实战
由于篇幅问题,内容以图片展示
需要领取这份资料的小伙伴们si【分布式】
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~5章)
首先介绍事务的基本概念,然后介绍MySQL事务和Spring事务的实现原理,最后介绍分布式事务的基本概念和理论知识。
第二部分 分布式事务解决方案(第6~7章)
以大量图解的方式详细介绍了分布式事务的各种解决方案,包括强一致性分布式事务解决方案和最终一致性分布式事务解决方案。
第三部分 分布式事务原理(第8~11章)
以大量图解的方式详细讲解了分布式事务的原理,包括XA强一致性分布式事务、TCC分布式事务、可靠消息最终一致性分布式事务和最大努力通知型分布式事务。
第四部分 分布式事务源码与实战(第12~17章)
首先详细讲解了业界比较知名的ShardingSphere框架实现XA分布式事务的源码,然后详细剖析了Dromara开源社区的Hmily分布式事务框架实现TCC分布式事务的源码,最后分别对XA强一致性分布式事务、TCC分布式事务、可靠消息最终一致性分布式事务和最大努力通知型分布式事务进行了实战案例讲解。
网友评论