分布式系统 CAP 理论

  • C : (consistency) 数据一致性
    • 所有 节点拥有数据的最新版本
  • A : (availability) 可用性
  • P : (partition-tolerance) 分区容错性 : 容忍网络出现分区,分区之间网络不可达

集群

同一个业务,部署在多个服务器上 (不同的服务器运行同样的代码,干同一件事)

  • 通过多台计算机完成同一个工作,达到更高的效率。
  • 两机或多机内容、工作过程等完全一样。如果一台死机,另一台可以起作用。

在这里插入图片描述

分布式

分布式系统是一组计算机,通过网络相互连接传递消息与通信后并协调它们的行为而形成的系统。 组件之间彼此进行交互以实现一个共同的目标

在这里插入图片描述

参考资料:

一般我们说的分布式系统,P:分区容错性 (partition-tolerance) 这个是必需的,这是客观存在的。

​ CAP是无法完全兼顾的,我们可以 倾向于AP,或者倾向于CP

​ 举个例子,在一个集群中, 有三台机器,他们之间均可以互相通信。如果发生了某些故障导致其中的某两台机器之间无法继续通信,就会导致集群中出现了 分区

在这里插入图片描述

集群 Node 1 & Node 2 之间的通信被切断

​ 出现分区后的集群,在 Node 1 & Node 2 之间无法保证数据一致性,如果这时仍然处理请求,则意味着舍弃了数据一致性来确保可用性。

在CAP理论中,C 所表示的一致性是强一致性(每个节点的数据都是最新版本),其实一致性还有其他级别的:

  • 弱一致性:弱一致性是相对于强一致性而言,它不保证总能得到最新的值;
  • 最终一致性 (eventual consistency):放宽对时间的要求,在被调完成操作响应后的某个时间点,被调多个节点的数据最终达成一致

在实际生产中,通常会针对数据一致性和可用性做一些取舍。(多数情况下要至少保证最终一致性)

可用性可用水平(%)年可容忍停机时间
容错可用性99.9999< 1 min
极高可用性99.999< 5 min
具有鼓掌恢复能力的可用性99.99< 53 min
高可用性99.9< 8.8 h
商品可用性99< 87.6 h

所以,CAP理论定义的其实是在容忍网络分区的条件下,“强一致性”和“极致可用性”无法同时达到

参考资料:

扩展阅读:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值