分布式系统:一致性模型( 三 )

一致性模型主要可以分为两类:能够保证所有进程对数据的读写顺序都保持一致的一致性模型称为强一致性模型 , 而不能保证的一致性模型称为弱一致性模型 。

强一致性模型

线性一致性(Linearizable Consistency)

线性一致性也叫严格一致性(Strict Consistency)或者原子一致性(Atomic Consistency) , 它的条件是:

  1. 任何一次读都能读取到某个数据最近的一次写的数据 。

  2. 所有进程看到的操作顺序都跟全局时钟下的顺序一致 。

线性一致性是对一致性要求最高的一致性模型 , 就现有技术是不可能实现的 。 因为它要求所有操作都实时同步 , 在分布式系统中要做到全局完全一致时钟现有技术是做不到的 。 首先通信是必然有延迟的 , 一旦有延迟 , 时钟的同步就没法做到一致 。 当然不排除以后新的技术能够做到 , 但目前而言线性一致性是无法实现的 。

顺序一致性(Sequential Consistency)

推荐阅读