面试官:CAP 都搞不清楚,别跟我说你懂微服务

栏目: IT技术 · 发布时间: 4年前

内容简介:CAP理论指在一个分布式系统中,一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三个要素最多只能同时实现两点,不可能三者兼顾。

面试官:CAP 都搞不清楚,别跟我说你懂微服务

CAP理论指在一个分布式系统中,一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三个要素最多只能同时实现两点,不可能三者兼顾。

面试官:CAP 都搞不清楚,别跟我说你懂微服务

面试官:CAP 都搞不清楚,别跟我说你懂微服务

面试官:CAP 都搞不清楚,别跟我说你懂微服务

面试官:CAP 都搞不清楚,别跟我说你懂微服务

让我们想象一个简单的分布式系统,它由G1和G2两个节点组成的,这两个节点都存有相同的变量V且初始值都是V0,如下图

面试官:CAP 都搞不清楚,别跟我说你懂微服务

客户端Client可以向任何一个节点发出读写请求,当节点收到该请求,经过计算返回相应的应答,如写数据操作

面试官:CAP 都搞不清楚,别跟我说你懂微服务

读数据操作如下

面试官:CAP 都搞不清楚,别跟我说你懂微服务

面试官:CAP 都搞不清楚,别跟我说你懂微服务

面试官:CAP 都搞不清楚,别跟我说你懂微服务

面试官:CAP 都搞不清楚,别跟我说你懂微服务

面试官:CAP 都搞不清楚,别跟我说你懂微服务

面试官:CAP 都搞不清楚,别跟我说你懂微服务

分区容错性P

The system will continue to function when network partitions occur.

当网络出现分区后,系统能够继续履行职责。

面试官:CAP 都搞不清楚,别跟我说你懂微服务

面试官:CAP 都搞不清楚,别跟我说你懂微服务

一致性C

A read is guaranteed to return the most recent write for a given client. 

对某个指定的客户端来说,它的读操作保证能够返回最新的写操作结果。如下

面试官:CAP 都搞不清楚,别跟我说你懂微服务

面试官:CAP 都搞不清楚,别跟我说你懂微服务

节点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).

非故障节点将在合理的时间内返回合理的响应,但不能是错误响应或超时。

面试官:CAP 都搞不清楚,别跟我说你懂微服务

面试官:CAP 都搞不清楚,别跟我说你懂微服务

第一阶段,client向节点G1发出写操作请求,数据是v1。由于网络分区,导致G1无法把数据同步给G2节点,如果此时满足可用性A,client向节点G2发出读操作请求,如下图

面试官:CAP 都搞不清楚,别跟我说你懂微服务

由于满足可用性A则G2返回给client的数据是v0,则不满足一致性C。如果需要满足一致性C,则失联的G2暂时不可用,直到网络恢复并同步数据完成方可。

面试官:CAP 都搞不清楚,别跟我说你懂微服务

本文部分内容参考并翻译于

https://mwhittaker.github.io/blog/an_illustrated_proof_of_the_cap_theorem/

面试官:CAP 都搞不清楚,别跟我说你懂微服务

End

版权归@码农神说所有,转载须经授权,翻版必究

转载可联系助手,微信号:codeceo-01

往期精彩

千万不能让 程序员 给娃娃取名字

面试官:CAP 都搞不清楚,别跟我说你懂微服务

扫码关注我们

码农神说

一个让你远离抑郁的公众号

面试官:CAP 都搞不清楚,别跟我说你懂微服务


以上所述就是小编给大家介绍的《面试官:CAP 都搞不清楚,别跟我说你懂微服务》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Computer Age Statistical Inference

Computer Age Statistical Inference

Bradley Efron、Trevor Hastie / Cambridge University Press / 2016-7-21 / USD 74.99

The twenty-first century has seen a breathtaking expansion of statistical methodology, both in scope and in influence. 'Big data', 'data science', and 'machine learning' have become familiar terms in ......一起来看看 《Computer Age Statistical Inference》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具