分布式系统之 — CAP 定理

前言

在互联网时代,我们的应用都是分布式系统,部署在 N 台机器上。说到分布式系统我们就不得不说分布式系统的祖先——集中式系统。它和分布式系统是两个完全相反的两个概念,集中式系统就是把所有的程序和功能都放到一台主机上,从而对外提供服务。集中式系统的优点就是容易理解、维护方便,它的的弊端也很明显,如果这个主机出故障了那么整个系统就崩溃了。著名投资家巴菲特有个关于投资的名言:

不要把鸡蛋放在一个篮子里

对于我们的系统而言也是如此,我们不可能保证主机永远不坏、也无法保证自己的程序永远不会出 bug,所以问题是无法避免的,我们只能把“鸡蛋”分散到不同的“篮子”里,降低系统出故障的风险,这就是我们为什么需要分布式系统的原因之一。使用分布式系统的另一个理由就是扩展性,毕竟单台主机都会有性能的极限,分布式系统可以通过增加主机数量来实现横向水平性能的扩展。接下来我们看看分布式系统中的一个基本定理 —— CAP定理

什么是 CAP 定理

CAP 定理指出对于一个分布式系统来说,不可能同时满足以下三点:

  • 一致性(Consistency)
  • 可用性(Availability)
  • 分区容错性(Partition tolerance)

定理看起来很简单,但是一致性可用性分区容错性究竟是代表什么意思呢?理解定理的最简单的方式就是想象一个有两个节点分别处在不同的分区(PS:可以简单的把分区理解为不同的子网络)的分布式系统。

场景假设

我们假定一个很简单的分布式系统,系统由两个系统 S1S2 组成。两个系统上面有两个相同的变量 K,该变量在两个系统对应的初始值为 V0。系统 S1S2 可以进行通信同时也对外提供服务。我们假定的分布式系统如下所示:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值