随着互联网的一直倒退,互联网企业的业务在飞速变动,推动着零碎架构也在一直地发生变化。总体来说,零碎架构大抵经验了
单体利用架构→垂直利用架构→分布式架构→SOA 架构→微服务架构 的演变。
现在微服务技术越来越成熟,很多企业都采纳微服务架构来撑持外部及对外的业务,尤其是在高并发大流量的电商业务场景下,微服务更是企业首选的架构模式。
微服务的遍及也带来了新的问题。本来繁多的利用架构只须要连贯一台数据库实例即可实现所有业务操作,业务办法的逻辑在一个事务中即可实现,波及的所有数据库操作要么全副提交,要么全副不提交,很容易实现数据的一致性。
而在微服务架构下,本来繁多的利用被拆分为一个个很小的服务,每个服务都有其独立的业务和数据库,服务与服务之间的交互通过接口或者近程过程调用(Remote Procedure Call,RPC)的形式进行,此时,服务与服务之间的数据一致性问题就变得辣手了。
因为微服务这种架构模式实质上就是多个利用连贯多个数据库共同完成一组业务逻辑,所以数据一致性问题就凸显进去了。除此之外,多个利用连贯同一个数据库和单个利用连贯 N 个数据库也会产生数据一致性问题。能够这么说,在互联网行业,任何企业都会或多或少地遇到数据一致性的问题。业界将这种数据一致性问题称为 分布式事务问题。
为了解决分布式事务问题,业界提出了一些驰名的实践,比方 CAP 实践和 Base 实践,并针对这些实践提出了很多解决方案,比方解决强一致性分布式事务的 DTP 模型、XA 事务、2PC 模型、3PC 模型,解决最终一致性分布式事务的 TCC、可靠消息最终一致性、最大致力告诉型等模型。不少企业和开源组织,甚至集体都基于这些模型实现了比拟通用的分布式事务框架。
深刻把握分布式事务未然成为互联网行业中每个中高级开发人员和架构师必须把握的技能 ,而熟练掌握分布式事务产生的各种场景和解决方案也成为各大互联网公司对应聘者的根本要求。而明天阿嘴给大家分享的这份《深刻了解分布式事务:原理与实战》 从理论需要登程,全面且粗疏地介绍了无关分布式事务的 基础知识 、 解决方案 、 实现原理 和源码实战
须要支付这份材料的小伙伴们【点击此处即可】
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 分布式事务、可靠消息最终一致性分布式事务和最大致力告诉型分布式事务进行了实战案例解说。