gpt4 book ai didi

java - 如何使用zookeeper监控不同机器上运行的Java应用程序的状态?

转载 作者:太空宇宙 更新时间:2023-11-04 11:51:56 26 4
gpt4 key购买 nike

如何使用zookeeper监控在不同机器上运行的Java独立应用程序的状态?如果任何 java 应用程序未运行/关闭/终止,则应发送通知或触发某些事件。

例如:我的 java 程序(Sample.java)在机器 A、B、C 上以 nohup 模式运行,无论如何,程序在机器 A 上被终止。我们如何知道机器 A 上的程序被关闭/被终止。任何想法都会有帮助。

最佳答案

我建议阅读 Apache ZooKeeper 文档的一些特定部分:

Ephemeral Nodes :一个进程可以创建一个临时znode,如果该进程无法维护其ZooKeeper session ,例如进程异常终止,则该znode将被自动删除。

Group Membership :这描述了使用临时 znode 实现组成员资格的方法。父 znode 充当代表组的容器,每个单独的进程在该父 znode 下创建一个临时 znode。由于临时 znode 会在进程死亡时自动删除,因此父 znode 下的当前子节点列表准确地代表了当前 Activity 的进程列表。

ZooKeeper Watches :监控应用程序可以使用 ZooKeeper API 在代表该组的父 znode 上设置监视。当父 znode 下创建或删除新的子 znode 时,它​​将收到通知。监控应用程序可以在回调中包含逻辑,以在进程的临时 znode 被删除时触发警报(发送电子邮件、在 Web UI 中从绿色切换到红色等)。

此外,您可能会发现 Apache Curator 项目作为实用 API 比直接调用 ZooKeeper API 更有用。馆长 Group Member食谱可能很适合您的需求。

关于java - 如何使用zookeeper监控不同机器上运行的Java应用程序的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41732106/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com