zoukankan      html  css  js  c++  java
  • Curator使用:(四)Master选举

    Master选举介绍##

    分布式执行一些不需要同时执行的复杂任务,curator利用zk的特质,实现了这个选举过程。其实就是利用了多个zk客户端在同一个位置建节点,只会有一个客户端建立成功这个特性。来实现同一时间,只会选择一个客户端执行任务

    代码###

        LeaderSelector selector = new LeaderSelector(cc, "/tmp/leader/master", new LeaderSelectorListener() {
            @Override
            public void takeLeadership(CuratorFramework client) throws Exception {
                //成为leader了
                System.out.println("do leader work");
                Thread.sleep(5000);
                System.out.println("end work");
            }
    
            @Override
            public void stateChanged(CuratorFramework client, ConnectionState newState) {
                System.out.println("stateChanged:"+newState);
            }
        });
        selector.autoRequeue();
        selector.start();
        Thread.sleep(Integer.MAX_VALUE);
    

    选举是无限循环的,可以看到下面的值,会依次增加

  • 相关阅读:
    [NOI2016]循环之美(杜教筛)
    [CF600E]Dsu on tree
    [POI2015]Myjnie
    [POI2015]Odwiedziny
    [POI2015]Logistyka
    [POI2015]Wilcze doły
    [POI2017]Sabotaż
    [BZOJ3928/4048]Outer space invaders
    [BZOJ5109]大吉大利,晚上吃鸡!
    [AGC016E]Poor Turkeys
  • 原文地址:https://www.cnblogs.com/june777/p/11867368.html
Copyright © 2011-2022 走看看