美文网首页
一致性模型

一致性模型

作者: chenjie901 | 来源:发表于2018-08-19 19:26 被阅读0次

什么是一致性:

程序和系统间的一个契约,在遵循某些约束下,对数据的操作是可预测的

强一致性:强一致性可理解为在单个节点上事件顺序和在多个节点上的事件顺序完全一致,而弱一致性则没有这样的要求

  • 线性一致性,所有节点上事件发生的的顺序全部一样,且和全局时间上时间发生的顺序一致
  • 顺序一致性,所有节点上事件发生的的顺序全部一样,但是可能和全局时间上发生的顺序不一致

弱一致性:对事件发送的顺序只有部分假设

  • 以客户为中心的一致性模型
    • 单调读(monotonic-read consistentency):如果一个进程读取某个数据项x的值,那么该进程对x执行的任何后续读操作将总是读取到底以此读取的值或更新的值,白话讲,如果一个进程在T时刻看到x的值,那么他以后不会再读取到叫老版本的值
    • 单调写(monotonic-write consistentency):一个进程对数据项x执行的写操作必须在该进程对x执行任何后续写操作前完成
    • 读写一致性(read-your-write consistentency):一个进程对x执行一次写操作的结果总是会被该进程对x执行的后续读操作看见
    • 写读一致性:(write-follow-reads consistentency):基于读取到的最新值来写
  • 因果一致性(causal consistentency):所有进程进程必须以相同的顺序看到潜在因果关系的写操作。不同机器上可以看到不同顺序的写操作
  • 最终一致性:经过一段时间数据肯定都会趋于一致

一致性由强到弱:

强一致性>线性一致性>因果一致性>最终一致性

系统角度一致性和客户角度一致性关系

单调写一致性 读写一致性 写读一致性 单调读一致性
强一致性
线性一致性
因果一致性 × ×
最终一致性 × × × ×

相关文章

  • 深入浅析分布式系统的一致性模型

    本文是《如何学习分布式系统》中,关于一致性模型的相关介绍。 什么是一致性模型 一致性模型指的是分布式系统对外界承诺...

  • java 内存模型-09-jmm 汇总

    处理器内存模型 顺序一致性内存模型是一个理论参考模型,JMM 和处理器内存模型在设计时通常会把顺序一致性内存模型作...

  • 读书笔记——Java内存模型

    本文章讲解的内容是Java内存模型。 在讲解Java内存模型之前,我先聊下硬件的效率和一致性。 硬件的效率和一致性...

  • JAVA内存模型--顺序一致性

    顺序一致性模型是一个理论参考模型。 1. 数据竞争与顺序一致性 当数据未正确同步时,可能会出现数据竞争。JAVA内...

  • java并发编程(四)

    java多线程编程(四) 引言: 内存模型的基础----内存模型相关的基本概念 java内存模型中的顺序一致性--...

  • 19. Interview-Algorithm

    1 一致性算法 一致性的分类 强一致性说明:保证系统改变提交以后立即改变集群的状态。模型:Paxos:角色过多,实...

  • 分布式系统:一致性协议

    一致性模型本质上是进程与数据存储的约定,通过一致性模型我们可以理解和推理在分布式系统中数据复制需要考虑的问题和基本...

  • 分布式系统-9-释放一致性

    论文:TreadMarks 本节我们以 TreadMarks 为模型聊一聊释放一致性的是使用场景。 所谓释放一致性...

  • 接大招:查重算法实现(二)——一致性模型

    接着上一章的分析,对于相似度模型的第一个较为简单的模型称为‘一致性模型’。 模型假设: 1.字符序列的操作...

  • 服务注册发现技术对比

    技术对照表 ZookeeperEtcdConsulEurekaCAP模型CPCPCPAP数据一致性算法ZABRaf...

网友评论

      本文标题:一致性模型

      本文链接:https://www.haomeiwen.com/subject/pbfhiftx.html