Server集群的监控方案

有多个server需要监控他们的是否宕机,普通的方式如下:

1.维护一个心跳,如5s,每5s给server发一个数据包,采用ping等方式

2.如果ping不到那么预警报错

缺点:

主动去ping,但是有时候为了安全起见是不开放ping的因此会失败

具体方案:

可以采用zookeeper来替换这种方式

如结点/servers/下面存放的是一些server,如server1的ip为ip1

那么此server对应的结点为

/server/ip1

每个server启动服务的同时注册一个服务到zookeeper集群中去,代码如下:

	public static void registryIp() throws IOException, KeeperException, InterruptedException {
		final ZooKeeper zk = new ZooKeeper("127.0.0.1", 3000, null);
		......
		 
	}

 此时创建的是EPHEMERAL,如果机器宕掉那么此时此server对应的/servers/localip结点就会不存在,那么可以通过监控/servers

父节点来达到对所有server的监控

猜你喜欢

转载自snv.iteye.com/blog/1839614
今日推荐