不多说,直接上干货!

 

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

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

 

 

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

 

 

 

 

 

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

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

 

 

  具体,见

 

相关文章:

  • 2021-05-30
  • 2022-12-23
  • 2022-12-23
  • 2021-09-04
  • 2021-09-28
  • 2021-09-20
  • 2022-12-23
  • 2021-10-05
猜你喜欢
  • 2022-12-23
  • 2021-10-04
  • 2022-12-23
  • 2022-01-26
  • 2022-12-23
  • 2021-07-19
  • 2021-06-02
相关资源
相似解决方案