CAP理论

传统的单体项目都是在单机完成,不存在一致性、可用性等问题,不适用于CAP理论。只有在分布式系统中,服务部署在多个节点上,因网络不稳定等情况会导致分区,为了提高系统的分区容错性,又衍生了一致性问题和可用性问题。为了便于理解,介绍顺序将不按照CAP进行。

1、P(分区容错性)

在分布式系统里面,不同的服务部署在不同的节点上,当不同节点之间因网络原因连不通,整个网络就分成了几块区域,数据也就散布在这些区域内,即分区。分区造成的数据无法访问的问题是无法容忍的,所以为了提高分区容错性的办法就是把数据复制到多个节点上(数据备份、主从复制),与此同时,也会带来一致性问题和可用性问题。

2、C(一致性)

一个分区在进行写操作后,所有的分区数据都要保持同步一致。即数据在多个副本之间能够保持一致的特性(强一致性)。

3、A(可用性)

系统一直处于可用状态,能正常响应数据,但是不保证响应数据为最新数据。

 4、一致性与可用性的冲突

  • 一个分布式系统,必然要满足分区容错性,因此,一致性和可用性两者就不能同时满足了。
  • 如果满足了一致性,即在A区做了些操作,必须在其他区同步了最新数据,再返回给客户端,可用性就会降低。
  • 如果满足了可用性,即主节点数据写入成功就返回客户端,就无法保证其他分区数据的一致性。
  • 如果同时满足了CA,即一致性和可用性,那数据库只能有一个主库,不能有从库,说白了就不是一个分布式系统。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值