分布式事务CAP定理:Consistency(一致性),Availability(可用性), Partition tolerance(分区容忍性)。分布式事务往往不能够同时占有3项。
为了达成一致性,解决分布式事务,常用解决方案:
2PC、3PC、本地表、MQ、补偿、其他;
2PC
分为提议、收到反馈后提交两阶段;
缺点:如果参与者挂掉,就会出现等待;
3PC
分为准备、提议、提交三阶段;
优点:解决参与者挂掉问题;
本地表
储存在本地,用定时任务处理;
例:业务逻辑处理完发送mq失败,保存本地表,进行扫描;
MQ
异步处理。
补偿
提供补偿措施,达成最终一致性;
例:财务数据冲销方案;
例:高德地图重复支付后,使用worker扫描订单进行退款操作;(牺牲了分区容忍性)
其他:
其他任何达成最终一致性的方案都是可取的,包括技术与非技术上方案;
网友评论