Zookeeper场景实践:(5)分布式通知/协调

本文介绍了Zookeeper在分布式通知/协调中的应用,包括系统调度模式和工作汇报模式。通过设置Watcher和节点变更通知,实现了客户端的异步通信。文章提供了关键代码示例,展示如何监控节点及子节点的变化,以获取实时的工作进度全局情况。
摘要由CSDN通过智能技术生成

1.基本介绍

通知/协调机制通常有两种方式。

  • 系统调度模式:操作人员发送通知实际是通过控制台改变某个节点的状态,然后Zookeeper将这些变化发送给注册了这个节点的Watcher的所有客户端。
  • 工作汇报模式:这个情况是每个工作进程都在某个目录下创建一个临时节点,并携带工作的进度数据。这样汇总的进程可以监控目录子节点的变化获得工作进度的实时的全局情况。

总的来说,利用Zookeeper的watcher注册和异步通知功能,通知的发送者创建一个节点,并将通知的数据写入的该节点;通知的接受者则对该节点注册watch,当节点变化时,就算作通知的到来。

场景实践

通过上面的说明,其实实现还是非常容易的。看下关键的几个地方:

  • g_monitor_child:变量等于0标识只监控节点,等于1标识监控所有子节点。
  • show_notify(zh,g_path);:打印接受到的通知
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值