高可用性是在一个或多个服务器发生故障后,系统可以继续运行的能力。
故障转移是高可用性的一部分,当一个服务器出现故障时,客户端连接可以到从出现故障的服务器迁移到另一个服务器,从而使客户端应用程序可以继续运行。
注意
在进行故障转移时,只有具有持久性的消息才会保留。任何非持久性消息的数据将在故障转移后丢失。
${build.shortName} 消息允许服务器以活跃/备份对的形式连接到一起,其中每个活跃的服务器都有一个备份。活跃服务器从客户端接收消息,而备份服务器不进行任何操作,直到发生故障转移。一个备份服务器只能由一个活跃服务器所拥有,它会停留在被动模式,等待接管活跃服务器。
当活跃服务器出现崩溃情况,或正常止工作时,当前处于被动模式下的备份服务器将变为新的活跃服务器。如果新的活跃服务器被配置为允许自动回滚,则它会在检测到旧的活跃服务器重新正常工作后自动停止工作,从而使原来的活跃服务器重新开始接收消息。
注意
如果只部署了一个活跃/备份服务器对,则不能有效地使用它们前面的负载平衡器,因为备份服务器不会主动处理消息。此外,备份服务器上的服务(如 JNDI 和 Undertow Web服务器)不处于活跃状态。出于这些原因,不支持把 JEE应用程序部署到作为备份消息服务器的${build.shortName} 实例中。
${build.shortName} 消息支持两种不同的策略用于备份服务器:复制(replication)和共享存储(shared store)。每个策略都可以作为采取主或从策略。请记住,每个消息服务器只有配置一个 HA 策略选项。
如需了解更多相关信息,请参阅 High Availability。