zookeeper 相关疑问

来源:9-5 开发分布式锁

java菜鸟

2020-08-19

1.分布式锁羊群效应
每个客户端的节点DistributedLock初始化的时候就会去zookeeper添加一个wacther ,如果客户端节点比较多的话,每次释放锁都会产生很多的watcher事件,对zookeeper的负载就会很大,影响zookeeper性能和网络。没有获取到锁的用户请求都被zkLocklatch.await();挂起,zkLocklatch.countDown(); 就会激活所有被挂住的请求,重新开始client.create()操作,client.create()的并发量是很大的,是否也会产生羊群效应?老师在目前的这个版本上有什么优化的措施?

2.我看代码中释放锁是执行删除节点操作是否可以认为创建锁节点的时候可以不是临时节点?

麻烦老师帮忙分析一下

写回答

2回答

java菜鸟

提问者

2020-08-19

谢谢老师

0
0

风间影月

2020-08-19

Zk分布式锁的性能不高的,所以一般用redis来实现会好一些。
节点要临时,持久节点万一中断链接,那么节点永久存在,永久锁住,这样不好

0
0

ZK分布式专题与Dubbo微服务入门,成长与加薪必备

进阶中高级工程师必备技能,大数据与微服务最常用的中间件

1859 学习 · 321 问题

查看课程