ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
分布式协调
A 系统发送个请求到 mq,然后 B 系统消息消费之后处理了。但是A 系统却没法知道 B 系统的处理结果。
用 zookeeper 就可以实现分布式系统之间的协调工作,A 系统发送请求之后可以在 zookeeper 上对某个节点的值注册个监听器(watch机制),一旦 B 系统处理完了就修改 zookeeper 那个节点的值,A 系统立马就可以收到通知。
分布式锁
可以使用 zookeeper 实现分布式锁,一个机器接收到了请求之后先获取 zookeeper 上去创建一个 znode,当另外一个机器也尝试去创建同名的znode的时候,会创建失败。
配置中心
zookeeper 可以用作很多系统的配置信息的管理,比如 kafka、storm 、dubbo等很多分布式系统都会选用 zookeeper 来做元数据、配置信息的管理,还可以作为配置中心,新增配置在zookeeper创建node,各方在node上添加watch,一旦节点变更就会通知到各方,各方就可以获取最近的配置
HA高可用性
adoop、hdfs、yarn 等很多大数据系统,都选择基于 zookeeper 来开发 HA 高可用机制,创建临时节点,机器和zookeerper的长连接一旦断掉就会被删除,通过监听器watch的其他机器就能知道有机器挂了,进行选举或其他方式处理。

本文深入探讨ZooKeeper在分布式系统中的核心作用,包括分布式协调、分布式锁、配置中心及高可用性等方面的应用,揭示其如何提升系统稳定性和效率。
3662

被折叠的 条评论
为什么被折叠?



