对具有高可用性的工作负载共享的配置
此配置由在集群中运行的多个消息传递引擎组成,其中每个消息传递引擎可故障转移至一个或多个备用服务器。
- 可以通过使用消息传递引擎策略辅助将集群添加至服务集成总线,并将可伸缩性与高可用性消息传递引擎策略配合使用。此过程为集群中的每个服务器创建单个消息传递引擎。每个消息传递引擎可故障转移至集群中的另一指定服务器。每个服务器最多可主管两个消息传递引擎,这样服务器之间就存在有序循环关系。每个消息传递引擎可故障恢复,即,如果某个消息传递引擎故障转移至另一服务器,并且原始服务器再次可用,那么消息传递引擎会自动移回原始服务器。
- 可以通过使用消息传递引擎策略辅助将集群添加至服务集成总线,并使用定制消息传递引擎策略。可根据需要对集群创建任意数目的消息传递引擎。对于您创建的每个消息传递引擎,必须配置消息传递引擎策略以便提供所需的消息传递引擎行为。
- 可在不使用消息传递引擎策略辅助的情况下将集群添加至服务集成总线。会自动创建一个消息传递引擎,然后将所需的其他消息传递引擎添加至集群。对于集群中的每个服务器,典型配置都有一个消息传递引擎。为该集群中的每个消息传递引擎创建新的“N 中取 1”核心组策略。配置策略以便每个服务器上都有一个消息传递引擎在运行,并且存在高可用性行为,例如,每个消息传递引擎可故障转移至一个指定服务器。
- 可设置消息传递引擎可在其上运行并可故障转移至的有序首选服务器列表。
- 可指定消息传递引擎是可在集群中的任何服务器上运行,还是只能在首选服务器列表中的服务器上运行。
- 可指定具有更高优先级的首选服务器变为可用时,消息传递引擎能否故障转移回该服务器。
名为“缺省 SIBus 策略”的缺省服务集成策略不提供此行为,所以必须创建新的核心组策略。
此类型的配置提供可用性,原因是服务器不可用时每个消息传递引擎可故障转移。该配置提供工作负载分摊(因为有多个消息传递引擎分摊流经目标的流量)和可伸缩性(因为可在不影响集群内现有消息传递引擎的情况下将新服务器添加至集群)。
下图显示此类型的示例配置。有三个消息传递引擎 ME1、ME2 和 ME3,分别带有数据存储器 A、B 和 C。消息传递引擎在包含三个服务器的集群中运行,并且分摊流经目标的流量。每个服务器在单独节点上,所以即使一个节点失效,余下节点上的服务器仍然可用。
每个消息传递引擎都有一个首选位置和一个辅助位置。集群中的每个服务器包含可在其上运行的两个消息传递引擎的定义,并创建每个消息传递引擎的实例,以便一个消息传递引擎可在服务器上运行(作为其首选位置),另一个实例则准备好被激活(如果另一个服务器失效)。ME1 在 server1 上运行,并且可故障转移至 server2;ME2 在 server2 上运行,并且可故障转移至 server3;ME3 在 server3 上运行,并且可故障转移至 server1。
每个消息传递引擎的消息存储器必须可供首选服务器和辅助服务器访问。实现此目标的方法取决于您使用的数据存储拓扑。如果使用联网数据库服务器,那么必须确保该数据库服务器可供集群中可能运行消息传递引擎的所有服务器访问。或者,可以使用外部高可用性框架来管理使用共享磁盘的数据库。
此示例配置是在您使用消息传递引擎策略辅助并将可伸缩性与集群(包含三个服务器)的高可用性消息传递引擎策略配合使用时创建的。

下图显示 server1 失效时的情况。消息传递引擎 ME1 在其首选服务器列表中的下一个服务器(即 server2)上激活。ME2 继续在 server2 上运行,ME3 也继续在 server3 上运行。

下图显示 server1 再次可用并且 server2 失效时的情况。消息传递引擎 ME1 在 server1 上激活,该服务器是该消息传递引擎的首选服务器列表中的第一个服务器,原因是对 ME1 设置了故障恢复。ME2 在该消息传递引擎的首选服务器列表中的下一个服务器(即 server3)上激活。ME3 继续在 server3 上运行。

带有高可用性消息传递引擎策略的预定义可伸缩性创建有关可伸缩性和高可用性的配置。下图显示配置的另一示例,该配置提供高可用性和工作负载分摊,其中消息传输是优先项。有两个消息传递引擎 ME1 和 ME2,分别带有数据存储器 A 和 B,这两个消息传递引擎在包含三个服务器的集群中运行并且分摊流经目标的流量。在正常操作中,ME1 在 server1 上运行,ME2 在 server2 上运行。Server3 为两个消息传递引擎提供故障转移位置。这称为“N+1”配置,原因是有一个备用服务器。

ME1 的首选服务器列表是 server1 和 server3,ME2 的首选服务器列表是 server2 和 server3。此配置的优点在于,如果一个服务器失效,那么余下每个服务器仅主管一个消息传递引擎。此配置的缺点在于备用服务器的开销。要实现此类型的配置,可使用定制消息传递引擎策略。
如果不使用消息传递引擎策略辅助并且希望消息传递引擎使用首选服务器,那么必须对该消息传递引擎指定一个或多个首选服务器。每当首选服务器可用时,高可用性管理器 (HAManager) 都会在其中运行消息传递引擎。没有首选服务器可用时,消息传递引擎在任何其他可用服务器中运行。还可对策略设置故障回退选项以便首选服务器再次变为可用时,HAManager 会将消息传递引擎移回至该服务器。