何时使用高可用性管理器
高可用性管理器需要耗用宝贵的系统资源,例如 CPU 周期、堆内存和套接字。高可用性管理器以及使用高可用性管理器所提供的服务的产品组件都使用这些资源。高可用性管理器和这些产品组件使用的资源量随着核心组资源大小的增大以非线性方式增加。
对于大型核心组,高可用性管理器耗用的资源量可能会变得非常巨大。如果禁用高可用性管理器,就会释放这些资源。但是,禁用高可用性管理器前,您应该彻底调查系统的当前需求及将来需求,以确保在禁用高可用性管理器时,不会同时禁用其他您所使用的但需要高可用性管理器的功能。例如,内存到内存会话复制及远程请求分派器 (RRD) 均要求启用高可用性管理器。
对于未使用高可用性管理器提供的任何服务的拓扑来说,禁用高可用性管理器的功能最为有用。在某些拓扑中,只有某些进程使用高可用性管理器提供的服务。在这些拓扑中,可以逐个进程地将高可用性管理器禁用,这将优化高可用性管理器使用的资源量。
除非对核心组中的所有应用程序服务器进程禁用高可用性管理器,否则请不要对管理进程(例如 Node Agent 和 Deployment Manager)禁用高可用性管理器。
高可用性管理器提供的某些服务是基于集群的。由于集群成员必须是相同类型的,所以,如果对集群的一个成员禁用了高可用性管理器,就必须对该集群的所有其他成员禁用它。
- 内存到内存复制
- 单一故障转移
- 工作负载管理路由


内存到内存复制
内存到内存复制是基于集群的服务,可以在应用程序服务器级别上配置或启用此服务。如果对任何集群成员启用内存到内存复制,那么必须对该集群的所有成员启用高可用性管理器。在下列情况下,将自动启用内存到内存复制:
- 对 Web 容器 HTTP 会话启用了内存到内存复制。
- 对动态高速缓存服务启用了高速缓存复制。
- 对应用程序服务器启用了 EJB 有状态会话 Bean 故障转移。
单一故障转移
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
- 已将该集群配置为使用高可用性管理器来管理事务日志的恢复。
- 已将缺省消息传递提供程序的一个或多个实例配置为在集群中运行。随本产品一起提供的缺省消息传递提供程序也称为服务集成总线。
单一故障转移是基于集群的服务。如果将缺省消息传递提供程序的一个或多个实例配置为在集群中运行,那么必须对该集群的所有成员启用高可用性管理器。缺省消息传递提供程序是随本产品一起提供的消息传递引擎。
工作负载管理
企业 Bean IIOP 流量的路由信息。
- 缺省消息传递引擎(也称为服务集成总线)的路由信息。
- 通过 IBM® WebSphere® Application Server 代理服务器传递 HTTP 请求。
- 通过 IBM WebSphere Application Server 代理服务器传递 Web Service 寻址请求。
- 路由 SIP(会话启动协议)请求。
WLM 使用高可用性管理器来传递路由信息和使它具有高可用性。尽管 WLM 路由信息通常应用于集群资源,但也可以将它应用于非集群资源(如独立的消息传递引擎)。通常,在任何生成或使用 IIOP 或消息传递引擎路由信息的应用程序服务器上,必须保持高可用性管理器处于启用状态。
- 路由信息生产者是位于集群 1 中的企业 Bean 应用程序。
- 路由信息使用者是位于集群 2 中的 Servlet。
那么,当集群 2 中的 Servlet 调用集群 1 中的企业 Bean 应用程序时,在这两个集群中的所有服务器上都必须启用高可用性管理器。
工作负载管理 MBean ClusterMgr 和 Cluster 可能会返回有关集群的基本信息。但是,如果在您的拓扑的任何部分禁用了高可用性管理器,那么您将无法修改当前设置以及将所作的修改传播至所有集群成员。
工作负载管理服务提供了一个选项,允许您静态地构建路由表和将路由表导出到文件系统中。使用此选项,就不必依赖于高可用性管理器。

例如,因为代理集群的成员间没有数据复制,所以不支持在该集群中的代理服务器之间进行故障转移。如果某个代理服务器已停止,那么该代理服务器拥有的所有活动连接都将停止,并且入局请求将失败。但是,代理服务器和代理集群支持后端服务器的高可用性和故障转移,这样代理服务器就可以在后端服务器已停止时检测到此情况,并将请求转发至已复制会话的服务器。
gotcha示例输出:
myCluster1(cells/mycell/clusters/myCluster1|cluster.xml#ServerCluster_1)