zookeeper经典场景

**

zookeeper经典场景

**
配置维护:**分布式系统,服务器部署在集群中,集群服务配置完全相同。出手工更改,出错率高,耗费人工量大,对于集群来说很很危险。
zk可以通过‘发布/订阅模式’实现对集群配置文件的管理与维护。‘发布/订阅模式’分为推模式(push)和拉模式(pull)。采用的是推拉结合的模式,与nacos,spring cloud config,携程的阿波罗 作用一样
实现步骤
Step1:发布者应用程序作为 zk 客户端首先需要在 zk 中创建一个节点,该节点的数据内容即为当前被监控集群主机的配置文件。
Step2:被监控集群主机在启动时首先需要从 zk 的节点上读取数据内容,即配置文件内容。
Step3:读取过数据内容后,再向 zk 的该节点注册数据内容变更的 watcher 监听。
Step4:发布者将更新过的配置文件内容更新到 zk 的对应节点数据内容上。此时 zk 会引发相应 watcher 事件,然后向每一个被监控主机推送 watcher 事件。
Step5:被监控集群主机在接收到 watcher 事件后,会触发本地 watcher 调用执行回调方法,回调方法会从 zk 中拉取节点的数据内容,即更新过的配置文件内容。
命名服务:可以为一定范围内的元素命名一个唯一标识,以与其他元素进行分区。在分布式系统中被命名的实体可以是集群中的主机、服务地址等。
通过利用zk 中节点路径不可重复的特点来实现命名服务的。也可以配带上顺序节点的有序性来体现唯一标识的顺序性。
具体实现步骤:
Step1:生成器在启动时首先需要在 zk 中创建一个根节点,例如/app
Step2:根据具体业务需求,在根节点/app 下创建多级子节点,每一级子节点名称使用对应级别的模块名称。例如,/app/一级模块名称/二级模块名称
Step3:再在模块节点下创建顺序节点,而节点名称可以根据业务需求指定。在生成时会自动为该名称添加上序号。此时该顺序节点的全路径即为生成的唯一标识
集群管理:对于集群,我们总是希望能够随时获取到当前集群中各个主机的运行时状态、当前集群中主机的存活状况等信息。通过 zk 可以实现对集群的随时监控。
具体实现步骤是:

Step1:监控系统在启动时会在 zk 中创建一个根节点,例如/clusterManager
Step2:当集群主机应用启动后,就会自动在 zk 的监控系统根节点下创建一个对应的临时子节点,并将自己的运行状态定时写入到该临时节点,或根节点的数据内容中,例如主机当前正在处理的连接请求有多少,当前主机的权重等。写入到这两个节点的效果是不同的:
写到临时节点:临时节点消失后,从监控系统中根本就查找不到任何该临时节点对应主机的信息。
写入到根节点:可以获取到所有曾经存在过的节点信息。
Step3:监控系统在根节点/clusterManager 上注册一个 watcher 监听。一旦集群中增减主机,就会引发子节点数量变更的 watcher 事件。然后 zk 会将事件推送给监控系统
Step4:监控系统在接收到 zk 发送的事件后,调用相应的 watcher 对象回调,将变化情况显示到监控平台。
Step5:若集群主机状态信息是写入到根节点数据内容的,那么监控系统需要在根节点上再注册一个数据内容变更的 watcher 监听,以实时获取到集群主机的状态数据。
Step6:若集群主机状态信息是写入到对应临时节点的,那么监控系统需要在每个主机临时节点上注册数据内容变更的 watcher 监听,以实时获取到集群主机的状态数据。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值