主从节点任务分配
通过前面的学习持久节点和临时节点,我们知道可以通过建立持久节点和临时节点配合进行主从任务的分配,下面实现一个小小的例子
前提,已经安装好了Zookeeper服务端,运行zkServer脚本启动服务端,打开zkCli客户端连接到服务端进行操作。
一 创建三个重要的父znode: /workers /tasks /assign
新创建的三个节点为持久性节点,且不包含数据,本例中,可以通过这三个节点知道哪些从节点当前有效,哪些任务需要分配,并向从节点分配任务。在真实的应用中,这些znode可能由主进程在分配任务前创建,也可能由一个引导程序创建,一旦节点存在了,主节点就需要监视/workers 和/tasks的子节点变化情况
二 对/wokers /tasks进行节点监控
使用 ls /woker true ls /tasks true 对/workers /tasks 节点进行监控
三 从节点角色
从节点首先要通知主节点,告知从节点可以执行任务。从节点通过再/workers子节点下创建临时性的znode来进行通知
首先再次打开一个zkCli客户端,进行临时znode的创建 ,命令:create -e /worker