核心组协调程序
每个核心组都有一个协调程序,用来管理核心组成员之间的高可用性活动。协调程序负责管理高可用性单一服务的故障转移,并将实时服务器状态数据分发给感兴趣的核心组成员。协调程序使用一些 CPU 和内存(JVM 堆)资源来执行这些任务。在某些配置中,协调程序使用的资源数量可能很大。
可以将协调程序工作负载分配给多个协调程序实例。每个实例在不同的核心组成员上运行,且将分担整个协调工作负载的一部分。通过将工作负载分配给多个协调程序实例,可以实现由多台机器来分担相关资源成本。无论协调程序将它的工作负载如何分配给各个核心组成员,协调程序功能仍然保持高可用性。
选择协调程序
当核心组成员启动或停止时,“视图同步协议”都会安装新视图。视图由互相连接且协作的各个核心组成员组成。每当安装新视图时,可能都需要在各个核心组成员之间重新分配协调程序工作负载。例如,用来管理协调程序实例的核心组成员可能已失败,那么高可用性管理器必须选择一个替代协调程序。
当选择特定核心组成员作为协调程序时,会将类似于以下消息的参考消息记录到 SystemOut.log 文件中:
HMGR0206I: The coordinator is an active coordinator for core group DefaultCoreGroup
如果某个核心组成员不再是所选择的协调程序,那么会记录与以下消息相似的消息:
HMGR0207I: The coordinator was previously an active coordinator for core group
DefaultCoreGroup but has lost leadership.

多个协调程序
核心组配置数据中包含一个字段,用户可以在该字段中指定协调程序的数目。此字段的缺省值是 1。对于大多数安装和应用程序,使用此缺省值就足够了。当被选择作为协调程序的核心组成员使用的内存或 CPU 资源远远超过其他核心组成员的使用量时,就要使用多个协调程序。另外,某些大量使用高可用性框架的软件产品将指示您增加协调程序数。
首选服务器
配置核心组时,如果存在一些核心组成员,那么可以指定高可用性管理器应当用作协调程序的核心组成员。首选协调程序服务器应该是那些尽可能很少执行的核心组进程。还应该在具有超多容量的机器上主管首选协调程序服务器。
指定首选协调程序服务器是一个好方法。在视图更改期间选择了协调程序时,高可用性管理器就会检查首选服务器的列表。如果有一个列表,那么高可用性管理器就会从该列表中选择一个服务器作为协调程序。如果没有列表,那么高可用性管理器就会选择其名称按词汇排序位于最前面的视图成员作为协调程序。如果这样做导致移动协调程序,那么会产生一些开销。