单调(Monotonic)读一致性 。如果进程已经看到过数据对象的某个值,那么任何后续访问都不会返回在那个值之前的值 。
单调写一致性 。系统保证来自同一个进程的写操作顺序执行 。要是系统不能保证这种程度的一致性,就非常难以编程了 。
另外一种划分一致性级别的:
一致性是指从系统外部读取系统内部的数据时,在一定约束条件下相同,即数据变动在系统内部各节点应该是同步的 。 根据一致性的强弱程度不同 ,可以将一致性级别分为如下几种:
①强一致性(strong consistency) 。任何时刻,任何用户都能读取到最近一次成功更新的数据 。
②单调一致性(monotonic consistency) 。任何时刻,任何用户一旦读到某个数据在某次更新后的值,那么就不会再读到比这个值更旧的值 。也就是说,获取的数据顺序必是单调递增的 。
③会话一致性(session consistency) 。任何用户在某次会话中,一旦读到某个数据在某次更新后的值,那么在本次会话中就不会再读到比这值更旧的值 。会话一致性是在单调一致性的基础上进一步放松约束,只保证单个用户单个会话内的单调性,在不同用户或同一用户不同会话间则没有保障 。示例case:php的session概念 。

文章插图
④最终一致性(eventual consistency) 。用户只能读到某次更新后的值,但系统保证数据将最终达到完全一致的状态,只是所需时间不能保障 。
⑤弱一致性(weak consistency) 。用户无法在确定时间内读到最新更新的值 。
2. 共识(Consensus)
共识问题中所有的节点要最终达成共识,由于最终目标是所有节点都要达成一致,所以根本不存在一致性强弱之分 。
例如,Paxos是共识(Consensus)算法而不是强一致性(Consistency)协议 。共识算法没有一致性级别的区分 。
疑惑
关于线性一致性的观点,
推荐阅读
- Linux服务器centos7系统下搭建Jenkins
- 为什么同样配置,你的手机没有人家快呢?主流手机系统盘点
- 华为EMUI11系统终于来了 升还是不升?看完就知道了
- 如何做可靠的分布式锁,Redlock真的可行么
- 了解分布式架构,让你的软件架构之路越走越顺
- 利用Redis黑进目标系统
- Mac OS U盘重装系统,亲测有效
- 如何做一个windows原版系统U盘启动盘?
- 苹果机老弹出系统更新,到底该不该更新?更新后真的会变慢吗?
- Linux系统下搭建svnadmin服务详细步骤讲解
