【问题标题】:Java health monitoring in clustered environment集群环境中的 Java 健康监控
【发布时间】:2019-01-28 10:23:37
【问题描述】:

我正在开发在集群环境中运行的后端服务(并行运行三个实例以分配一些计算作业)。我正在使用 hazel cast 来创建集群和分配作业。

我想创建休息端点来对服务进行一些健康检查。由于此服务处于集群模式,我需要在所有实例中检查运行状况检查。

如何实现这种跨集群的健康检查? 有没有为此推荐的可用库?

【问题讨论】:

  • 您是否在您的应用程序中公开任何健康检查服务,或者您想依赖 Hazelcast 的健康检查服务?
  • 我想要健康检查的休息端点,它不仅应该提供与 hazelcast 相关的健康检查,还应该提供其他内部业务相关的检查。但想要这个跨集群。
  • 我明白了。我不知道任何分布式健康检查库或工具。但对于 Hazelcast 方面,这可能对您有用:docs.hazelcast.org/docs/3.11/manual/html-single/…
  • 据我了解,您想要一个工具来汇总每个实例的健康检查结果并以统一的方式报告,对吧?
  • 是的。 @OzanKılıç。确切地。不仅是健康检查(如cpu、内存等),还有一些内部业务功能检查

标签: java rest hazelcast distributed-system health-monitoring


【解决方案1】:

一种方法是将运行状况指标“推送”到数据库(所有实例都需要知道或“发现”数据库)。

另一种方法是使用 consul(或类似的解决方案)通过健康检查注册服务。 Consul 有一些 Java 客户端可供您选择。

【讨论】:

    【解决方案2】:

    Java 平台具有JMX 功能,您需要为您的服务实现 JMX bean,这将提供应用程序指标。然后,您可以使用现有解决方案之一来监控 JMX 指标(Zabbiz、Grafana、ELK 等)或实现您自己的服务,该服务将轮询或使用集群中每个实例的 JMX 数据,并通过 rest api 提供对这些数据的访问.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多