本文是《如何学习分布式系统》中,关于一致性模型的相关介绍。
一致性模型指的是分布式系统对外界承诺的一个契约,外界按照契约的规定与分布式系统发生交互,就能得到契约中承诺的观测结果。
这么解释过于抽象,我们看几个实际的例子。
这些系统表现出来的行为,就是其一致性模型的体现。
一致性模型的研究由来已久,在基于共享内存的多核CPU并行计算中,科学家就已经开始对一致性模型开始研究,然后将一致性模型顺理成章的推广到基于网络通信的多节点协同系统中。
在分布式系统中,最理想的情况是一个事件一旦发生,就立刻被所有参与者感知,每个事件都有精确的物理时间用来确定先后顺序,然而计算机技术实际上有各种各样的限制,所以完美的一致性模型很难达到,所以大家就马马虎虎的退而求其次啦。
一致性模型有强弱之分,一般来说,如果一个算法能在一个一致性模型中工作,那么它就能在一个更强的的一致性模型中工作。
在后面的文章中,我们一起研究几个常见的一致性模型。
分布式系统中还有很多一致性模型,有兴趣的话,可以参考这个网站。
更多相关内容,请参考系列文章《如何学习分布式系统》。