我是靠谱客的博主 顺心口红,最近开发中收集的这篇文章主要介绍一张图解释 CAP 理论中 C、A、P 三者间的关系,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在这里插入图片描述

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

什么是分区?

一个分布式系统里面,节点组成的网络在正常状态下应该是连通的,也就是所有节点出于同一分区中。然而软件、硬件或者网络等故障不可避免,使得分布式系统中的节点之间不连通了,整个网络就分成了几块区域。当系统数据无法在不同分区间传输时,系统就是不可用的,这样的系统就是分区不容忍的系统。

通过增加数据副本的方式可以提高分区容忍性,也就是将同一数据的不同副本存储到分布式系统的不同存储节点中。然而,同一数据拥有多个副本后,副本之间数据在特定阶段、特定时刻,会出现某种程度的数据不一致的问题。

因此,三要素之间有着如上图所示的难以调和的矛盾,鱼与熊掌不可兼得。

另外,在分布式系统中,分区容忍性是必须要具备的特性,是不可放弃的,分布式系统中,要么选择 CP,要么选择 AP,没有 CA 这种选择。

举个简单的例子,在分布式系统中有三个节点 A、B、C,它们都保存着同一数据的不同副本,假设该系统同时满足 C(一致性)、A(可用性),当故障发生时,系统被分成了两个区 {A、B} 和 {C},这种情况下,C 接收到一条更改数据的请求,那么有两种可能的操作:

  1. 执行更新,那么除非系统从故障中恢复,否则 A,B 无法获悉本次更新;
  2. 拒绝更新;

总之,要么选择一致性,要么选择可用性,无法同时满足。

最后

以上就是顺心口红为你收集整理的一张图解释 CAP 理论中 C、A、P 三者间的关系的全部内容,希望文章能够帮你解决一张图解释 CAP 理论中 C、A、P 三者间的关系所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部