ZOOKEEPER

Zookeeper

一、zookeeper有什么用?

分布式协调服务

满足:
一致性
原子性
可靠性
最终一致性

角色与状态

角色
1、leader:领导者
2、follower:追随者,参与选举
3、observer:观察者,不参与选举,主要是用来扩大读的能力

状态:
LOOKING
LEADING
FOLLOWING

二、选举机制

触发选举的场景:
1、启动时
2、Leader掉线
3、Leader与一半以上的follower失联

选举的投票信息:
【SID,ZXID】=【服务器唯一标识,最后一个事务ID】
ZXID事务ID=32位时间戳+32位计算器

三、ZAB协议与paosx协议
四、作用场景
分布式配置

如配置项,类属性,放在节点上,还有类似 application.properties

命名服务:dubbo

将信息放在ZK 上,进行实时修改和读取
在这里插入图片描述

分布式锁:

1、在锁节点下创建临时节点,节点序号会越长越大
2、获取这个锁节点下所有的子节点,(每个子节点代表一个线程在抢占锁)
3、如果这些子节点的最小一个节点序号,和当前创建的序号一致,则认为抢占到了锁,执行业务,然后删除这个临时节点

4、如果没有抢占到,则监听一个比自己这个节点小一号的临时节点(避免羊群效应)

5、如果监听失败,则再次从第2步执行,重新获取所有子节点,看下是不是轮到自己了。
没有则再次监听小一号的临时节点。

分布式队列

1、创建临时节点
2、往节点下创建临时节点,顺序存储,如果满了,则阻塞或终止
3、订阅者,消费最小临时节点,则满足FIFO,执行完成后删除该节点
4、消费最大临时节点,先今后出。
5、如果为空,则阻塞等待

负载均衡

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值