为什么用分布式

随着业务量激增,单个数据库的性能产生瓶颈的时候,我们会对数据库进行分区,这时单个数据库的事务已经不能适应这种情况了,在集群环境下,想保证集群事务ACID是很难的,即使能达到那么效率和性能会大幅下降
后来就引入一个新的理论CAP
Consistency(一致性), 数据一致更新,所有数据变动都是同步的
Availability(可用性), 好的响应性能
Partition tolerance(分区容忍性) 可靠性
任何分布式系统只可同时满足二点,没法三者兼顾。

下面给出一个分布式事务方案
如下图:
clipboard.png

4补偿 情况分析:
当 1 成功 2 失败 处理未成功的消息(重新发消息)
当 1 成功 2 成功 3 失败 检查B消息表中是否执行过UUID,执行过跳过2,直接3
最终达到一致性

优点:经典实用
缺点:建消息表(单记录有追述)

分布式方案有很多,各有优缺点,适合自己的项目就好


大贺
24 声望0 粉丝

大贺718