CAP含义应用

CAP 含义应用

三个指标

  • Consistency
  • Availability
  • Partition tolerance

Partition tolerance(分区容错性)

大多数分布式系统分布在多个子网络,每个子网络叫做一个区。分区容错性代表区间通信可能失败。
分区容错性无法避免,需要在C和A之间进行选择

Consistency

不能分区需要保持数据一致性

Availability

用户发起请求需要得到回应

Consistency 和Availability矛盾

  • 不可能同时成立,因为可能存在通信失败
  • 如果要保证分区一致性,必须在某个分区修改是,锁定其他分区,导致某分区不可读,即不可用,若要保证可用性,势必不能锁定G2

可用性高于一致性

  • 需要高可用,比如服务器等。

案例

zookeeper 保证AP

  1. 不能保证每次请求服务的可用性
    1.1 任何时刻对ZooKeeper的访问请求都能得到一致性的结果,同时对网络分割具备容错性;
    但是它不能保证每次服务对可用性,Zookeeper会在极端的网络环境下丢弃某些包。
    1.2 进行leader选举对时候集群是不可用的。在使用Zookeeper获取服务列表时,master节点丢失,
    会进行重新选举,时间在30-120s,在此期间服务不可用
  2. Eureka保证AP
    2.1 每个节点都是平等,挂掉几个节点其他节点依然可以提供服务
    2.2 某个节点挂掉,会导到其他节点
    2.3 在15分钟之内,超过85%的节点都没有正常心跳,则出现网络故障,应对措施如下:

不再从注册列表中一处因为长时间没收到心跳而应该过期的服务
仍然接受新的请求,但是不会同步到其他节点
当网络稳定是,当前实例新的注册信息会被同步到其他节点

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值