zookeeper使用场景实战

ZK java客户端

zk官方客户端没有和服务端分离,同一个jar文件,我们直接引入zk的maven即可。注意版本匹配兼容

Curator

curator java语言编程的zk客户端框架,curator项目是现在zk客户端中使用最多。
将我们平时使用的zk服务开发进行了封装,例如leader选举, 分布式计数器,分布式锁、减少开发时间。

ZK集群

 leader      处理写请求 和读请求
 follower       处理读请求
 observer       读,不参与选举

zk使用场景

1. 非公平

在这里插入图片描述
并发严重情况下,性能下降严重。所有节点对同一节点进行监听,当服务器检测到删除操作,通知所有连接。
再次并发竞争,这就是羊群效应

2. /公平锁
在这里插入图片描述
请求进来,默认创建一个临时顺序节点, 判断是不是lock节点下,最小的节点。 yes。获取锁,no,监控等待.
循环操作上述流程

3. 共享锁

在这里插入图片描述
并不是所有请求都需要加锁。 读读请求就不需要。 读写需要加读锁,通知其他线程不能进行修改, 直至读完成。写也不允许,加写锁,其他线程不能进行读和写操作。

4. leader在分布式场景中的应用

5 .spring cloud zk 注册中心实战

当服务较少时,可以直接通过点对点进行请求。请求过多扩展服务数量,通过nginx进行转发

如果服务过多
在这里插入图片描述
引入zk,监控各个服务的状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值