实现主从模式

一、主从模式

        主节点负责以下几点任务

        1.在ZK将自己注册为主节点,并设置监听,一旦发现既有主节点崩溃,重新竞选主节点

        2.监听从节点新增和删除,如果发生从节点删除,则将从节点已经分配还未执行的任务重新分配

        3.监听任务节点新增,如果发生任务节点新增,将新增的任务随机分配给从节点

        从节点负责以下几点任务

        1.在ZK注册自己,包括可用从节点/workers/worker-1以及已分配任务从节点/assign/worker-1

        2.监听自己的已分配任务从节点

        3.获取任务并执行

        任务节点负责以下几点任务

        1.发布任务到任务节点下/tasks/task-1

 

        主从模式ZK结构图

        105414_mt5w_3049601.png

        /master为临时节点,一旦主节点因正常或异常退出,在此节点上监听的程序会接收到通知,并发起竞选

        /workers为永久节点,其子节点为临时节点,表示可用的从节点

        /tasks为永久节点,其子节点也为永久节点,表示发起的任务

        /assign/worker-1都为永久节点,其子节点(任务/task-1)也为永久节点,表示分配给worker-1的任务

二、代码

    完整代码见https://git.oschina.net/jionsvolk/zookeeper.git

    类MasterUnSyn实现主节点

    类WorkerUnSyn实现从节点

    类TaskUnSyn发布任务

    类WorkerCache在主节点中使用,用于缓存从节点

 

刚开始学习,代码肯定还有不完善的地方,请多指教。

转载于:https://my.oschina.net/u/3049601/blog/1053890

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值