专栏首页大数据学习交流深入浅析分布式系统的一致性模型
原创

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

什么是一致性模型

一致性模型指的是分布式系统对外界承诺的一个契约,外界按照契约的规定与分布式系统发生交互,就能得到契约中承诺的观测结果。

这么解释过于抽象,我们看几个实际的例子。

  1. 你给女朋友转账了一千块,然后你给她打电话:“亲爱的,我给你打了一千块”。女朋友一查余额,果然多了一千块,于是龙颜大悦。
  2. 女朋友自拍发了朋友圈,打电话命令你点赞,你打开朋友圈,发现什么也没有。花了五分钟哄好了发怒的女朋友,才看到那条姗姗来迟的朋友圈。
  3. 在女朋友的自拍下面,你看到你女朋友写到“咱们上次逛街的地方”,过了三秒,看到她闺蜜的评论“这是哪里啊?”

这些系统表现出来的行为,就是其一致性模型的体现。

一致性模型的研究由来已久,在基于共享内存的多核CPU并行计算中,科学家就已经开始对一致性模型开始研究,然后将一致性模型顺理成章的推广到基于网络通信的多节点协同系统中。

在分布式系统中,最理想的情况是一个事件一旦发生,就立刻被所有参与者感知,每个事件都有精确的物理时间用来确定先后顺序,然而计算机技术实际上有各种各样的限制,所以完美的一致性模型很难达到,所以大家就马马虎虎的退而求其次啦。

一致性模型有强弱之分,一般来说,如果一个算法能在一个一致性模型中工作,那么它就能在一个更强的的一致性模型中工作。

在后面的文章中,我们一起研究几个常见的一致性模型。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 零基础学习大数据Hadoop需要什么准备?Hadoop如何发展起来的?

    1、2001年,Nutch问世。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性...

    一起学习大数据
  • 零基础学大数据编程需要哪些基础?

    零基础学大数据编程需要哪些基础?程序员薪酬高、工作环境好,是很多同学向往的职业,让很多非计算机专业的同学羡慕不已。非计算机专业难道就不能成为程序员了吗?

    一起学习大数据
  • 大数据和Hadoop什么关系?为什么大数据要学习Hadoop?

    大数据是一系列技术的统称,经过多年的发展,大数据已经形成了从数据采集、整理、传输、存储、安全、分析、呈现和应用等一系列环节,这些环节涉及到诸多大数据工作岗位,这...

    一起学习大数据
  • 机器学习人工学weekly-2018/4/8

    注意下面很多链接需要科学上网,无奈国情如此 1. clustering 5种算法解释 The 5 Clustering Algorithms Data Scie...

    windmaple
  • 性能分析:Oracle的CLOB使用与临时段访问及其性能优化

    编辑手记:在系统测试、上线和优化的过程中,抓住核心环节、不放过任何可疑,这是DBA的基本要求之一,在这个案例中,高频度调用的存储过程引起了注意。 客户新上线的一...

    数据和云
  • 目标检测算法之CVPR 2018 Cascade R-CNN

    最近玩过检测比赛的同学应该都了解Cascade R-CNN这个算法吧,这是CVPR 2018提出的,通过级联多个检测网络达到不断优化预测结果的目的。但是和普通的...

    BBuf
  • 深度学习入门笔记系列 ( 一 )

    本系列将分为 8 篇 。今天是第一篇 ,工欲善其事必先利其器 ,先简单讲讲当前的主流深度学习框架 TensorFlow 及其安装方法 。

    小小詹同学
  • TensorFlow下载与安装

    TensorFlow简介 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意...

    xiangzhihong
  • 配合LLDB调试器进行iOS代码调试 原

            在一款完整iOS移动应用的开发中,代码的调试和编写占着同等重要的地位。Xcode默认使用LLDB作为代码调试器,LLDB功能丰富且强大,恰当的使...

    珲少
  • 编程小白 | 每日一练(164)

    这道理放在编程上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从编程小白进阶到高手,需要经历的是日积月累的学习,那么如何学习呢?当然是每天都...

    C语言入门到精通

扫码关注云+社区

领取腾讯云代金券