01 为什么需要分布式事务
由于近十年互联网的发展非常迅速,很多网站的访问越来越大,集中式环境已经不能满足业务的需要了,只能按照业务为单位进行数据拆分(包含:垂直拆分与水平拆分),以及按照业务为单位提供服务,从早期的集中式转变为面向服务架构的分布式应用环境。
举一个典型的例子,阿里的淘宝网站随着访问量越来越大,只能按照商品、订单、用户、店铺等业务为单位进行数据库拆分,以及按照业务为单位提供服务接口。
这个时候 为了完成一个简单的业务功能,比如:购买商品后扣款,有可能需要横跨多个服务,涉及用户订单、商品库存、支付等多个数据库,而这些操作又需要在同一个事务中完,这就涉及到到了分布式事务。
本质上来说,分布式事务就是为了保证不同资源服务器的数据一致性。
02 分布式的一致性理论
最早加州大学伯克利分校 Eric Brewer教授提出一个分布式系统特性的CAP理论。
1.CAP 理论的不可能三角
一致性(Consistency)
可用性(Availability)
分区容错性(Partition tolerance)
在分布式系统中,是不存在同时满足一致性 Consistency、可用性 Availa