分布式事物相关面试题
一.目的
解决强一致性和最终一致性问题
二.典型方案
两阶段提交方案(2pc)
eBay 事件队列方案
TCC 补偿模式
缓存与数据最终一致性
三.一致性理论
CAP 理论:一致性(Consistency),可用性(Avaliability),分区容忍性(Patition Tolerance)
Base 理论:基本可用性(Basically Avaliable),软状态(Soft state),最终一致性(Eventual consistency)
四.一致性模型
强一致性:任意时刻,所有副本中的数据都是一致的
弱一致性:系统不承诺,任意时刻可以读到最新的写入值
最终一致性:保证最终会返回上一次写入的值
五.解决方案
1.2pc 强一致性方案
2.eBay 事件队列方案--最终一致性
3.TCC 补偿模式--最终一直性
4.Saga框架
参考:https://github.com/eventuate-tram/eventuate-tram-sagas