20.12.8. 关于高可用性(HA)失效切换

高可用性失效切换分为自动客户失效切换和使用在线-备份结构的应用程序级别的失效切换。每个在线服务器都有一个备份服务器。目前只支持每个在线服务器对应一个备份服务器。
只有在线服务器崩溃时备份服务器才会接管。在在线服务器重启后,如果 allow-failback 属性被设置为 true,它会再次称为在线服务器。当原来的在线服务器接管后,备份服务器将恢复成在线服务器的备份服务器。

重要

即使您没有使用群集功能,群集也应该启用。这是因为 HA 群集的每个节点都必须有一个到其他节点的群集连接,从而能够和其他服务器协商角色。
在线和备份服务器实现了高可用性群集拓扑结构,它们使用 IP 多点传送发送连接细节。如果无法使用 IP 多点传送,也可能使用初始连接的静态配置。在初始连接之后,系统会将这个拓扑结构通知客户。如果当前的连接是稳定的,客户将和另外一个节点建立新的连接。
在在线服务器崩溃且备份服务器接管后,您需要重启在线服务器并将客户进行失效切换。为此,重启原来的在线服务器并终止新的在线服务器。您可以终止服务器进程或等待服务器自己崩溃。在 standalone.xml 配置文件里设置 failover-on-shutdown 为 true,您也可以让服务器在正常关闭时进行失效切换。
<failover-on-shutdown>true</failover-on-shutdown>
在默认情况下,failover-on-shutdown 属性为 false。
通过在 standalone.xml 配置文件里设置 allow-failback 属性为 true,您也可以在旧的在线服务器恢复时自动进行接管且强制关闭新的在线服务器。
<allow-failback>true</allow-failback>
在 Replication HA 模式下,如果在 standalone.xml 配置文件里设置 check-for-live-server 属性为 true,当旧的在线服务器恢复时,强制新的在线服务器关闭。
<check-for-live-server>true</check-for-live-server>