使用zookeeper实现主从选举
package cn.julong;
import org.apache.zookeeper.*;
import org.apache.zookeeper.ZooDefs.Ids;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* Hello world!
*/
public class LeaderElection {
public static void main(String[] args) throws Exception {
String connectString = "dpnode05:2181";
new Master(connectString, connectString.substring(0, connectString.indexOf(":"))).start();
}
static class Master extends Thread{
//心跳时间间隔
private static final int heartbeatTime = 3000;
private static final int sessionTimeOut = 10000;
//等待上次作为leader的Master重连之前抢战leader前时间,可以防止网络波动导致leader频繁切换
private static final int scrambleWaitTime = 5000;
private static final Stri