gpt4 book ai didi

java - 用于云应用程序的 JMX

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:13:53 25 4
gpt4 key购买 nike

是否有通过 JMX 管理动态配置服务器的集群的解决方案?

JMX 在使用一组已知的服务器时似乎工作正常 - 输入要连接的主机名,连接,更改设置并查看指标,每个人都很高兴。

如果您拥有整个应用程序实例集群,并且您想要更改该集群中所有实例的一个设置,会发生什么情况?是否有任何解决方案可以让您一次更改所有实例,也许是通过某种服务注册表?

最佳答案

看看 OpenDMK .这是 Java Dynamic Management Kit 的开源版本.它为 JMX 提供了一个 Discovery Service .引用文档:

The discovery service enables you to discover Java dynamic management agents in a network. This service relies on a discovery client object that sends out multicast requests to find agents. In order to be discovered, an agent must have a registered discovery responder in its MBean server. Applications can also use a discovery monitor that detects when discovery responders are started or stopped.

至于一次对所有服务器进行更改,如果您实现发现服务(或类似服务),您将能够快速编译 JMXServiceURL 的列表。 s 又可用于生成 JMXConnector 的列表s 以及连接的列表 MBeanServerConnection秒。从那里开始,围绕该列表创建一个多路复用包装器应该足够简单,该包装器将针对包装器的操作委托(delegate)给每个远程 JMX 实例。 (错误处理和超时可能有点棘手......)

您甚至可以考虑编写一个 MBeanServerInterceptor它创建了一个虚拟 MBeanServer,它看起来像一个 MBeanServer,但实际上是上述变相的多路复用器。

//尼古拉斯

关于java - 用于云应用程序的 JMX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9940742/

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