一. 什么是分布式事务
有两个服务,一个订单服务,一个商品服务。当我们下单成功后,订单服务会调用商品服务的扣库存方法,如果这时候商品服务出现异常,扣库存失败,那就会导致事务的问题,以后有可能出现超卖。所以我们在微服务架构开发的时候,一定要处理好分布式事务
二. 分布式事务理论
比较流行的就是BASE,CAP定理
CAP理论:
是由加州大学伯克利分校Eric Brewer教授提出来的,他指出WEB服务无法同时满足一下3个属性:
- 一致性(Consistency) : 客户端知道一系列的操作都会同时发生(生效)
- 可用性(Availability) : 每个操作都必须以可预期的响应结束
- 分区容错性(Partition tolerance) : 即使出现单个组件无法可用,操作依然可以完成
具体地讲在分布式系统中,在任何数据库设计中,一个Web应用至多只能同时支持上面的两个属性。显然,任何横向扩展策略都要依赖于数据分区。因此,设计人员必须在一致性与可用性之间做出选择。
BASE理论:
在分布式系统中,我们往往追求的是可用性,它的重要程序比一致性要高,那么如何实现高可用性呢? 前人已经给我们提出来了另外一个理论,就是BASE理论,它是用来对CAP定理进行进一步扩充的。BASE理论