为何用分布式数据库
随着业务量激增,单个数据库的性能产生瓶颈的时候,咱们会对数据库进行分区,这时单个数据库的事务已经不能适应这种状况了,在集群环境下,想保证集群事务ACID是很难的,即便能达到那么效率和性能会大幅降低
后来就引入一个新的理论CAP
Consistency(一致性), 数据一致更新,全部数据变更都是同步的
Availability(可用性), 好的响应性能
Partition tolerance(分区容忍性) 可靠性
任何分布式系统只可同时知足二点,无法三者兼顾。分布式
下面给出一个分布式事务方案
以下图:性能
4补偿 状况分析:
当 1 成功 2 失败 处理未成功的消息(从新发消息)
当 1 成功 2 成功 3 失败 检查B消息表中是否执行过UUID,执行过跳过2,直接3
最终达到一致性spa
优势:经典实用
缺点:建消息表(单记录有追述)事务
分布式方案有不少,各有优缺点,适合本身的项目就好ip