夫天地者,万物之逆旅;光阴者,百代之过客。而浮生若梦,为欢几何?
微服务设计理论:CAP 定理

CAP 简介

随着分布式的发展,尤以当下主流的微服务架构为代表,几乎所有的大型网站都使用了分布式。分布式系统具有 分布性、对等性(自治性)、并发性、全局性四大特征。其具有 资源共享、计算速度快、可靠性高、通信方便快捷等优势。尽管分布式系统具备众多优势,但它也有自身的缺点,并且这些缺点也正得到克服。

CAP 作为分布式系统的一种协调理论,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

  1. C  一致性(Consistency):数据在多个副本之间是否能够保证一致的特性(等同于所有节点访问同一份最新的数据副本)。

  2. A  可用性(Availability):在集群一部分节点故障后,整体集群在收到请求后,还能给出响应。

  3. P  分区容错性(Partition tolerance):尽管任意数量的消息被节点间的网络丢失(或延迟),系统仍继续运行。


一个分布式系统不可能同时满足一致性、可用性、分区容错性这三个基本需求,最多只能够满足其中两项,要么AP,要么CP,要么AC,但是不存在CAP。如果在某个分布式系统中数据无副本, 那么系统必然满足强一致性条件, 因为只有独一数据,不会出现数据不一致的情况,此时C和P两要素具备,但是如果系统发生了网络分区状况或者宕机,必然导致某些数据不可以访问,此时可用性条件就不能被满足,即在此情况下获得了CP系统,但是CAP不可同时满足  。这就要求架构师在进行分布式设计时做出取舍。

参考资料

CAP原则_百度百科   

CAP 定理的含义 

什么是分布式?

越说越迷糊的CAP

如何正确理解CAP理论?

CAP原则(CAP定理)、BASE理论

分布式理论之CAP定理(布鲁尔定理)

作者:暗夜余晖

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

0

支持

0

反对

posted @2020-3-21  拜读(437)

评论列表

评论内容:



喜欢请打赏

支付宝 微信

请放心支付