微服务架构之分布式事务
1 分布式事务的产生背景以及理论指导
1.1 分布式事务产生的背景
在微服务(分布式)环境下,因为会根据不同的业务会拆分成不同的服务,每个服务都有自己独立的数据库,并且是独立运行,互不影响。服务与服务之间通讯采用RPC远程调用技术,但是每个服务中都有自己独立的数据源,即自己独立的本地事务。两个服务相互通讯的时候,两个本地事务互不影响,从而出现分布式事务产生的原因。
案例1:下单扣库存——在电商系统中,下单和扣库存如何保持一致?
比如:用户先下单后,扣库存失败,那么将会导致超卖;如果下单不成功,扣库存成功,那么会导致少卖。
画图订单服务和库存服务演示:
1.2 解决分布式事务基本思想,CAP和Base理论
事务四个特性ACID:原子性、一致性、隔离性、持久性
强一致性、弱一致性、最终一致性:
强一致性:某数据被更新后,后续对该数据的读取操作都是得到更新后的值(比如关系型数据库
更新操作)。
弱一致性:某数据被更新后,后续对该数据的读取操作可