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