打赏

Zookeeper概念学习系列之zookeeper实现分布式进程监控

 

 

  不多说,直接上干货!

 

  假设要监控多台服务器上的A程序运行状态, 当发现有服务器上的A程序下线的时候, 给管理员发短信, 并且尝试重启A程序。

 zookeeper实现分布式进程监控主要利用zk的临时节点和watcher监视器的特性

 

 

  临时节点有一个特点: 当创建临时节点的程序停掉之后, 这个临时节点就会消失。
  监视器的特点: 可以给 zk 中的节点注册监视器, 监视这个节点的子节点的变化情况监视器注册一次, 只能使用一次。 多次使用需要多次注册 。

 

 

 

 

 

大致思路如下:
  1: 首先在A程序启动的时候在zookeeper/monitor 节点下创建一个临时节点, 临时节点的名称可以用这个服务器的主机名或者ip信息, 只要A程序一直正常运行, 这个临时节点就会一直存在。

  2: 给zk/monitor节点注册一个watcher监视器, 监视monitor节点下面的所有子节点的变化情况,当有子节点变化的时候, 获取到具体是哪一个子节点发生了变化, 就知道是哪台机器上的A程序
有问题了。
  3: 可以给管理员发短信, 打电话, 发邮件之类的, 并且还可以实现对那一台服务器上的A程序进行重启。

 

 

  具体,见

zookeeper编程入门系列之zookeeper实现分布式进程监控和分布式共享锁(图文详解)

 

posted @ 2017-07-26 21:51  大数据和AI躺过的坑  阅读(1431)  评论(0编辑  收藏  举报