![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Zookeeper
Hepburn Yang
匠心精神
展开
-
【分布式协调服务】-- zookeeper 出现背景
集群服务的问题:协议地址的维护负载均衡机制服务动态上下线感知(上线:某个服务发布上线调用者可以知晓; 下线:如若集群中某个节点服务出问题宕机可以迅速定位)如何解决集群服务问题思路: (我们需要一个什么样的东西来解决上述问题)需要有一个中间件发布服务的时候可以注册到中间件上去,在中间件上维护一个类似电话簿的功能(存着所有目标服务器的地址),断开时也可以立即知晓。客户端只需要拿...原创 2019-03-12 15:10:30 · 479 阅读 · 1 评论 -
【分布式协调服务】--zookeeper实现原理
一、分布式协调机制引用的场景各个节点的数据一致性保证任务只在一个节点上执行最小节点(最先注册的节点)拿到执行权了之后,其他节点便没有权利执行。如果一个节点挂了,怎么保证其他节点立刻知晓,并接替任务。存在共享资源,互斥性,安全性如何保证。二、zookeeper的设计防止单点故障集群方案(leader,follower).还能分担请求每个节点的数据是一致的(必须要有lead...原创 2019-03-12 16:51:20 · 551 阅读 · 1 评论 -
Zookeeper的使用场景 (分布式协调+分布式锁+元数据/配置信息+HA高可用)
经典使用场景:## 分布式协调这个其实是zk很经典的一个用法,简单来说,就好比,你A系统发送个请求到mq,然后B消息消费之后处理了。那A系统如何知道B系统的处理结果?用zk就可以实现分布式系统之间的协调工作。A系统发送请求之后可以在zk上对某个节点的值注册个监听器,一旦B系统处理完了就修改zk那个节点的值,A立马就可以收到通知,完美解决。## 分布式锁## 元数据/配置信息## HA高可用性原创 2017-10-22 21:30:21 · 813 阅读 · 30 评论 -
Zookeeper做分布式锁
zk分布式锁,其实可以做的比较简单,就是某个节点尝试创建临时znode,此时创建成功了就获取了这个锁;这个时候别的客户端来创建锁会失败,只能注册个监听器监听这个锁。释放锁就是删除这个znode,一旦释放掉就会通知客户端,然后有一个等待着的客户端就可以再次重新枷锁。原创 2017-10-14 18:00:00 · 2315 阅读 · 20 评论