CAP和BASE

CAP概念:

Consistency(一致性:所有节点在同一时间具有相同的数据

Availability(可用性):保证每个请求不管成功或者失败都有响应

Partition Tolerance(分区容错性):系统中任意信息的丢失或失败不会影响系统的继续运作

CAP理论的核心一个分布式系统不可能同时满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。P是必须的,没有拓展性违背分布式系统设计初衷,分区形成后为了满足一致性需要将节点数据复制到其他节点,此时会阻塞其他节点读取,则造成了可用性的问题,所以CA一定程度上是互斥的。

BASE概念

Basically Available(基本可用):允许损失部分可用性来保证核心可用。但不等价于不可用。类似cap的p容错性。

Soft-state(软状态/柔性事务):状态可以有一段时间的不同步

Eventual consistency(最终一致性):系统中的所有数据副本经过一定时间后,最终能够达到一致的状态,是弱一致性的一种特殊情况。

BASE核心思想:即使无法做到强一致性但每个业务根据自身的特点,采用适当的方式来使系统达到最终一致性

CAP和BASE其实都是为了解决分布式的副本一致性问题所提出的理论,相对应的还有ZAB协议等。

ZooKeeper Atomic Broadcast(ZAB,zookeeper原子消息广播协议)的协议作为其数据一致性的核心算法,在 ZooKeeper 中,主要依赖 ZAB 协议来实现分布式数据一致性,基于该协议,ZooKeeper 实现了一种主备模式的系统架构来保持集群中各个副本之间的数据一致性。

思想应用

RocketMq保证AProcketmq是通过broker主从机制来实现高可用的。相同broker名称,不同brokerid的机器组成一个broker组,brokerId=0表明这个brokermasterbrokerId>0表明这个brokerslave

消息生产高可用:把topic的多个message queue创建在多个broker组上,

消息消费高可用:消息无法从master读时会切换到slaver;

zookeeper保证CP, zookeeper在选举leader时,会停止服务,直到选举成功之后才会再次对外提供服务;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值