分布式中的CAP原理

参考:https://www.zhihu.com/question/54105974

https://blog.csdn.net/zyh568879280/article/details/87630228

 

Consistency(一致性):数据一致更新,所有数据的变化都是同步的

Availability(可用性):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求

Partition tolerance(分区容忍性):某个节点的故障,并不影响整个系统的运行

这里主要是不理解分区容忍性

       首先,分布式通常假设网络是异步的,异步就意味着有延迟,延迟可能会导致节点间传递消息出现重复、丢失等等。当网络不连通的时候,网络被分为几个区域,这个就叫做分区。网络产生分区后,其他节点的状态我们就无从得知,并且也访问不到数据,这时分区是无法容忍的。想要提高分区容忍性,就是将数据复制到多个节点上,这样当出现分区时,一个数据项就可能分布到各个区上,容忍性就提高了。但是将数据复制到多个节点,会带来数据一致性的问题,当网络恢复之后,我们需要重新建立连接然后尝试解决在不一致状态时的不一致。如果要保证一致,则需要保证每次读写操作都成功,这又会带来可用性的问题。总的来说就是,数据存在的节点越多,分区容忍性越高,但要复制更新的数据就越多,一致性就越难保证。为了保证一致性,更新所有节点数据所需要的时间就越长,可用性就会降低。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值