架构师训练营 第六周 【作业】

发布于: 2020 年 07 月 15 日

题目:请简述CAP原理。

1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标。

  • Consistency

  • Availability

  • Partition tolerance

首字母分别是C、A、P

1、首先介绍Partition tolerance

大多数分布式系统都分布在多个子网络,每个子网络就叫做一个区(partition)。分区容错的意思是,子网络间通信可能会失败。

一般来说,分区容错无法避免,因此可以认为 CAP 的 P 总是成立。CAP 定理告诉我们,剩下的 C 和 A 无法同时做到。

2、Consistency

一致性,意思是,写操作之后的读操作,必须返回该最新值。

如果有两个节点,向一个节点中写入数据后,要确保及时同步到第二个节点,以便两个节点都能读取到相同的数据。

3、Availability

可用性,意思是,只要收到用户的请求,不管请求成功与否,数据新旧准确与否,服务器都必须给出回应。

因为P的存在,C与A就无法同时满足。如果想满足强一致性,那么就要失去一些可用性。反之如果追求高可用,那么一致性就很难得到保证。

现实开发中,通常可根据业务场景来取舍,例如,在高可用的系统设计中,可以略降低一致性(用结果一致性)即可。

参考资料:http://www.ruanyifeng.com/blog/2018/07/cap.html

用户头像

小K

关注

还未添加个人签名 2019.11.08 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 第六周 【作业】