分布式CAP原理

分布式CAP原理Consistentdata:    Operationscommitorfailintheirentirety(atomic)    操作的提交或者失败都是整体的(原子性)    Transactionsneverobserveorresultininconsistentdata(consistent)        事务不会导致不一致的数据  

大家好,又见面了,我是你们的朋友全栈君。

Consistent data:

    Operations commit or fail in their entirety(atomic)

    操作的提交或者失败都是整体的(原子性)

    Transactions never observe or result in inconsistent data(consistent)    

    事务不会导致不一致的数据

    Uncommitted transactions are isolated from each other(isolate)

    未提交的事务相互之间是隔离的

    Once a transaction is committed it is permanent(durable)

    一个事务的提交是永久性

Highly available:

    Every request should succeed and receive a response

    所有请求都必须成功的或者回复

Fault-tolerance:

    When some nodes crash or some communication links fail, it is important that the service still perform as expected

    当一些节点宕机或者网络连接失败,服务仍然能够perform as expected

 

定理1

It is impossible in the asynchronous network model to implement a read/write data object that guarantees the following properties:

    ●Availability

    ●Atomic consistency

在一个异步网络模型中是不可能实现读写请求达到下面两点要求的:

    ●可用性

    ●一致性

反证法证明之。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144379.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • mapminmax函数 matlab,matlab mapminmax函数详解

    mapminmax函数 matlab,matlab mapminmax函数详解几个要说明的函数接口:[Y,PS]=mapminmax(X)[Y,PS]=mapminmax(X,FP)Y=mapminmax(‘apply’,X,PS)X=mapminmax(‘reverse’,Y,PS)用实例来讲解,测试数据x1=[124],x2=[523];>>[y,ps]=mapminmax(x1)y=-1.0000-0.3333…

    2022年6月16日
  • Vue中 使用定时器 (setInterval、setTimeout)[通俗易懂]

    Vue中 使用定时器 (setInterval、setTimeout)[通俗易懂]js中定时器有两种,一个是循环执行setInterval,另一个是定时执行setTimeout。定时器需要在页面销毁的时候清除掉,不然会一直存在!1.循环执行(setInterval)顾名思义,循环执行就是设置一个时间间隔,每过一段时间都会循环执行这个方法,直到这个定时器被销毁掉;语法:setInterval(code,milliseconds);setInterval(function,milliseconds,param1,param2,…);code/funct

    2022年9月28日
  • Python 学习笔记 列表 排序 xxx XXX

    Python 学习笔记 列表 排序 xxx XXXPython学习笔记列表排序xxxXXXprint(“-“*30)cars=[‘bmw’,’audi’,’toyota’,’subaru’]cars.sort()print(cars)print(“-“*30)cars=[‘bmw’,’audi’,’toyota’,’subaru’]cars.sort(reverse=True)print(cars)print(“-“…

    2022年8月22日
  • 485转网口的moxa(虚拟机com口和主机com口)

    影响我们一生百倍差距的四大效应观察者效应:你的世界是什么样是由你的观察决定的.这个效应是在【潜能突破】研习营课堂上发现的,我们有个练习叫三生万物,每个人都会成为一次观察者角色,当大家在成为其他角色时,他们总是发现不了自己的问题,无论我们怎样提醒都没有用,无法改变原有的模式,当他们进入观察者模式,看见其他人的行为所造成的后果时,立刻恍然大悟,主动注意自己的形为,在当下立刻发生改变.刚开始我以为这是个…

    2022年4月17日
  • wxpython自定义控件_wxPython 教程(十三) 自定义控件

    wxpython自定义控件_wxPython 教程(十三) 自定义控件本节讲述wxPython自定义控件。GUIToolkits会提供多数常用的部件,比如按钮、文本控件、滚动条、滑块等等。wxPython也会提供很多控件,但若需要更定制化的控件还是需要开发者自己编写。自定义控件通过两种方式创建:一种是通过修改或增强现有控件,另一种是我们从零开始直接创建。超链接控件第一个例子是创建一个超链接控件,我们基于wx.lib.stattext.GenStatic…

    2022年5月11日
  • 关于参数thresh的理解(pd.dropna(thresh=n))

    关于参数thresh的理解(pd.dropna(thresh=n))书上的表达:假设你只想保留包含一定数量的观察值的行,可以使用thresh参数来表示。嗯嗯嗯….有些模棱两可。摸索了一番,终于理解了。格式:df.dropna(thresh=n)简单的理解:这一行除去NA值,剩余数值的数量大于等于n,便显示这一行。1.先创建数组,代码如下:1importnumpyasnp2from…

    2022年10月29日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号