JMX在管理员视角下的应用:简化J2EE平台管理
1 管理大型软件系统的挑战
对于许多网络管理员来说,日常活动包括管理各种硬件设备,如路由器、网关、桥接器和网络服务器。在企业环境中,这些设备必须被管理和可管理。随着基于服务的架构(如J2EE)在这些相同的企业环境中变得越来越普遍,管理和大型软件系统的需求变得显而易见。简单网络管理协议(SNMP)已经成为事实上的管理协议,但对于软件组件和应用程序的管理,我们需要更加灵活和强大的工具。
2 服务器农场管理
管理数十甚至数百个服务器、JVM和MBean服务器的大型软件安装是一个巨大的挑战。为了简化管理,我们需要一种统一的方式来管理这些系统。JMX提供了一种机制,使得管理员可以本地和远程管理软件组件和应用程序。然而,涉及多个服务器的大型软件安装的需求尚未完全解决。
2.1 服务器联邦
JMX规范本身并未定义大型系统的管理模型,如跨多个JVM分布的计算机或软件组件的概念。如果管理客户端需要操作分布在不同物理节点和MBean服务器上的多个资源,就需要从管理客户端单独连接到所有相关的服务器。这增加了客户端实现的复杂性。
从管理客户端的角度来看,更理想的是能够拥有一个对整个分布式系统统一的逻辑视图。这将允许客户端仅处理一个连接和一个MBean服务器,并在管理客户端保持实现的简单性。在服务器端,分布式环境增加的复杂性可以对客户端应用透明地处理。
graph TD;
A[管理客户端] -->|连接到| B[逻辑视图];
B -->|转发请求| C[分布式MBean服务器];