带有高可用性的可伸缩性消息传递引擎策略
带有高可用性的可伸缩性消息传递引擎策略是使用消息传递引擎策略辅助时提供的预定义消息传递引擎策略类型。当属于总线的集群中同时需要高可用性和可伸缩性时,它帮助您配置该集群。
带有高可用性的可伸缩性配置确保集群中的每个服务器都有一个消息传递引擎,并且每个消息传递引擎都有故障转移位置。
带有高可用性的可伸缩性消息传递引擎策略为集群中的每个服务器创建一个消息传递引擎。每个消息传递引擎可故障转移至集群中的另一指定服务器。每个服务器最多可主管两个消息传递引擎,这样服务器之间就存在有序循环关系。每个消息传递引擎可故障恢复,即,如果消息传递引擎故障转移至另一服务器,并且原始服务器再次变为可用,那么该消息传递引擎会自动移回该服务器。
通过将每个消息传递引擎配置为仅在其首选服务器列表中的服务器上运行,然后仅在该首选服务器列表中指定两个服务器,将每个消息传递引擎指定给特定服务器。每个服务器是一个消息传递引擎的第一首选服务器,并且是另一消息传递引擎的第二首选服务器,这会在服务器之间形成循环关系。系统会启用故障恢复,以便每个消息传递引擎始终由其首选服务器(如果该服务器正在运行)主管。
可主管特定消息传递引擎的两个服务器必须都能访问为该消息传递引擎配置的消息存储器(数据库或文件系统)。
如果要将更多服务器添加至集群而不影响现有消息传递引擎,但同时要确保消息传递一直可用,请对系统使用带有高可用性的可伸缩性策略。
在管理控制台上选择带有高可用性的可伸缩性消息传递引擎策略类型时,会显示一个图,其中显示所选集群和该策略的最终结果。
如果图中没有警告三角形,并且带有高可用性的可伸缩性行的是否需要进一步配置列显示否,那么说明集群的拓扑及消息传递引擎的配置适当,并且您可以继续。
如果图中存在警告三角形,请检查“带有高可用性的可伸缩性”行中的消息以获取有关如何实现适当消息传递引擎配置的指南。
如果集群中需要高可用性,那么该集群应包含至少两个节点,每个节点上有一个服务器,即,集群中应该至少有两个单独的物理机器。如果消息建议您在另一节点上添加另一服务器,那么必须返回并重新定义集群拓扑,然后再将集群添加为总线成员。
例如,下图显示在一个节点上配置的三个服务器。如果该节点失效,那么没有可供任何消息传递引擎故障转移至的服务器。要提供一些高可用性,一个单独节点上必须至少还有一个服务器才能确保存在可运行至少一个消息传递引擎的服务器。而且只配置了一个消息传递引擎。为提供一些可伸缩性,每个服务器必须有一个消息传递引擎。

图 2 是一个说明消息传递引擎配置何时适合于带有高可用性的可伸缩性策略的示例。有三个服务器(每个节点上一个服务器)和三个消息传递引擎。每个消息传递引擎都有首选服务器,并且还有一个可用于故障转移的服务器。每个服务器是一个消息传递引擎的首选主机,并且是另一个消息传递引擎的故障转移主机。没有警告三角形和淡出组件,原因是可成功使用该策略。

下表显示包含三个服务器的集群的消息传递引擎策略设置,这些服务器使用带有高可用性的可伸缩性消息传递引擎策略。
消息传递引擎名称 | 故障转移 | 故障恢复 | 首选服务器列表 | 仅在首选服务器上运行 |
---|---|---|---|---|
clustername.000-busname | true | true |
|
true |
clustername.001-busname | true | true |
|
true |
clustername.002-busname | true | true |
|
true |
带有高可用性消息传递引擎策略的预定义可伸缩性创建有关可伸缩性和高可用性的配置。它不是配置集群以提供可伸缩性和高可用性的唯一方法,但它是常用配置。如果您有其他需要,例如,优先考虑消息传输并且您想要提高可供每个消息传递引擎使用的位置数目,那么可使用定制消息传递引擎策略。
有关带有可伸缩性和工作负载分摊的高可用性的配置的更多信息,请参阅相关信息。