为什么用分布式
随着业务量激增,单个数据库的性能产生瓶颈的时候,我们会对数据库进行分区,这时单个数据库的事务已经不能适应这种情况了,在集群环境下,想保证集群事务ACID是很难的,即使能达到那么效率和性能会大幅下降
后来就引入一个新的理论CAP
Consistency(一致性), 数据一致更新,所有数据变动都是同步的
Availability(可用性), 好的响应性能
Partition tolerance(分区容忍性) 可靠性
任何分布式系统只可同时满足二点,没法三者兼顾。
下面给出一个分布式事务方案
如下图:
4补偿 情况分析:
当 1 成功 2 失败 处理未成功的消息(重新发消息)
当 1 成功 2 成功 3 失败 检查B消息表中是否执行过UUID,执行过跳过2,直接3
最终达到一致性
优点:经典实用
缺点:建消息表(单记录有追述)
分布式方案有很多,各有优缺点,适合自己的项目就好
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。