分布式事务解决方案--仅限个人理解

                                              分布式事务


1.何为分布式?


 分布式是在微服务的大环境的影响下衍生出来的一种服务器部署策略。

2.分布式事务产生的原因


a.数据库分库分表

b.系统SOA化,也就是微服务化,把系统单独的业务模块一个一个拆分出来(不同的业务模块针对不同的数据库)

3.来源


分布式事务的解决必然依赖于CAP定理,以下言论参考阮一峰的文章

分布式事务解决方案--仅限个人理解

所谓的CAP定理就是consistency(数据一致性),avaliability(数据可用性),partitionTolerance(网络分区容错性)

分区容错是指部署在不同地区的服务器之间进行通信,不能保证100%是完全能够成功的,所以一般来说,分区容错是必然存在的,那么我们在解决分布式事务的时候,实际上就是在数据一致性跟数据可用性上进行抉择。

所谓的一致性是指在并发情况下,A修改数据,B获取的时候要获取的是A修改完的,而可用性是指针对客户端发送的请求,我们都要对其作出回应.

为何无法保证数据一致性跟可用性?

如果要保证B的一致性,那么在A操作的时候要锁定B的读写,但是锁定B之后,就无法保证B的可用性.

如果要保证B的可用性,那么就不能锁定B,那么就无法保证B的一致性.

4.解决方案


a.

b.

c.