内容简介:CAP理论指在一个分布式系统中,一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三个要素最多只能同时实现两点,不可能三者兼顾。
CAP理论指在一个分布式系统中,一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三个要素最多只能同时实现两点,不可能三者兼顾。
让我们想象一个简单的分布式系统,它由G1和G2两个节点组成的,这两个节点都存有相同的变量V且初始值都是V0,如下图
客户端Client可以向任何一个节点发出读写请求,当节点收到该请求,经过计算返回相应的应答,如写数据操作
读数据操作如下
分区容错性P
The system will continue to function when network partitions occur.
当网络出现分区后,系统能够继续履行职责。
一致性C
A read is guaranteed to return the most recent write for a given client.
对某个指定的客户端来说,它的读操作保证能够返回最新的写操作结果。如下
节点G1在应答client之前,先把数据同步给G2节点,当client从G2读取时就已经是最新的数据了,从而达到了数据的一致性。
可用性A
A non-failing node will return a reasonable response within a reasonable amount of time (no error or timeout).
非故障节点将在合理的时间内返回合理的响应,但不能是错误响应或超时。
第一阶段,client向节点G1发出写操作请求,数据是v1。由于网络分区,导致G1无法把数据同步给G2节点,如果此时满足可用性A,client向节点G2发出读操作请求,如下图
由于满足可用性A则G2返回给client的数据是v0,则不满足一致性C。如果需要满足一致性C,则失联的G2暂时不可用,直到网络恢复并同步数据完成方可。
本文部分内容参考并翻译于
https://mwhittaker.github.io/blog/an_illustrated_proof_of_the_cap_theorem/
End
版权归@码农神说所有,转载须经授权,翻版必究
转载可联系助手,微信号:codeceo-01
往期精彩
扫码关注我们
码农神说
一个让你远离抑郁的公众号
以上所述就是小编给大家介绍的《面试官:CAP 都搞不清楚,别跟我说你懂微服务》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 2019最热微服务面试题(上)
- 服务器后台开服面试心得
- 真的跪了!微服务架构27连问面试题配答案
- 抖音、腾讯、阿里、美团春招服务端开发岗位硬核面试(上)
- 抖音、腾讯、阿里、美团春招服务端开发岗位硬核面试(二)
- 抖音、腾讯、阿里、美团春招服务端开发岗位硬核面试(二)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First HTML5 Programming
Eric Freeman、Elisabeth Robson / O'Reilly Media / 2011-10-18 / USD 49.99
What can HTML5 do for you? If you're a web developer looking to use this new version of HTML, you might be wondering how much has really changed. Head First HTML5 Programming introduces the key featur......一起来看看 《Head First HTML5 Programming》 这本书的介绍吧!