Java 可插拔集群管理系统
问题:Java 可插拔集群管理系统,java,cluster-computing,jmx,Java,Cluster Computing,Jmx,问题: 我们有一个在Java(Tomcat)上运行的服务器集群。每台服务器都通过JMX公开大量信息。通过JMX来确保集群处于有效状态需要很多时间 在某些情况下,检查每个节点中的特定状态就足够了。在其他情况下,数据分布在节点上,因此需要进行一些逻辑分析。有时需要分析的数据太多,无法手动完成 问题是: 是否有一个集群管理系统可以为自动化此类测试提供一个平台 要求: 它必须能够通过插件(最好是用Java编写的)进行扩展,因此对于一些复杂的定制测试,我们所需要的只是开发一个具有业务逻辑的插件 它必须提
我们有一个在Java(Tomcat)上运行的服务器集群。每台服务器都通过JMX公开大量信息。通过JMX来确保集群处于有效状态需要很多时间 在某些情况下,检查每个节点中的特定状态就足够了。在其他情况下,数据分布在节点上,因此需要进行一些逻辑分析。有时需要分析的数据太多,无法手动完成 问题是:
是否有一个集群管理系统可以为自动化此类测试提供一个平台 要求:
- 它必须能够通过插件(最好是用Java编写的)进行扩展,因此对于一些复杂的定制测试,我们所需要的只是开发一个具有业务逻辑的插件李>
- 它必须提供一些JMX客户端平台
- 用于运行测试和查看结果的GUI/JMX界面
- 日程安排
- SNMP监控
- 这并不能满足您的所有要求,但您应该看看
(可靠多播通信工具包)
本质上,它是一个java库,用于创建集群节点,这些节点可以通过使用mutlicast或unicast的各种协议彼此保持同步。它包括一组丰富的函数,可以帮助您构建所需的功能堆栈。可以使用构建块和/或您自己的自定义状态管理或集群可调用的“业务方法”来实现堆栈的自定义。我的意思是,您可以定义一个名为
int getOpenPortCount()
的业务方法,然后您可以在集群上调用它,而不是在单个节点上调用它。然后,每个连接的节点将在本地调用该方法并返回调用结果,从而导致集群调用[有效地]返回int[]
的值,其长度是JGroups集群上的节点数
它必须提供一些JMX客户端平台
我不完全确定您的意思,但是没有内置的JMX连接器。但是,您可能不需要它,因为您可以使用JGroups API直接与单个节点通信,或者通过集群与所有节点通信
运行测试和查看结果的GUI/JMX界面
我不认为您会发现类似的情况,但是,由于您基本上使用的是纯Java,因此您可以使用JGroups API、JMX API、jUnit(或TestNG)和基于eclipse的测试运行程序的组合,它提供了相当不错的测试工具和可视化UI
日程安排
您可以使用JGroups或简单地使用JGroups来调度要在集群中执行的事件
SNMP监控
,这反过来又可以通过。这个特定于jboss的特性将让您了解如何实现它