当系统发生故障时,PolarDB集群会自动进行主备切换。您也可以手动进行主备切换,指定一个只读节点为新的主节点。

注意事项

不论是自动切换还是手动切换,切换过程中,都可能会出现20~30秒左右的闪断,因此切换前请务必确保应用具备重连机制。

自动主备切换

PolarDB集群版采用双活(Active-Active)的高可用集群架构。当系统发生故障时,可读写的主节点和只读节点之间会自动进行故障切换(Failover),系统自动选举新的主节点。

集群中每个节点都有一个故障切换(Failover)优先级,该优先级决定了故障切换时每个节点被选举为主节点的概率高低。当多个节点的优先级相同时,则有相同的概率被选举为主节点。

自动选举主节点按以下步骤进行:
  1. 系统找出当前可以被选举的所有只读节点。
  2. 选择优先级最高的一个或多个只读节点。
  3. 如果切换第一个节点失败(例如,网络原因、复制状态异常等),则会尝试切换下一个,直至成功。
说明 切换过程中,可能会出现20~30秒左右的闪断,因此切换前请务必确保应用具备重连机制。

您可在集群基本信息页面的数据库节点区域,查看并设置集群中每个节点的Failover优先级。

节点failover优先级

手动主备切换

您也可以手动进行主备切换,指定一个只读节点为新的主节点。手动切换适用于高可用演练,或者需要指定某个节点为主节点的场景。

  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 找到目标集群,单击集群ID。
  4. 基本信息页面的数据库节点区域,单击右上角切换图标切换视图。
  5. 单击主备切换
    1
  6. 在弹出的对话框中,选择新主节点,单击确定,开始切换。
    说明 切换过程中,可能会出现20~30秒左右的闪断,因此切换前请务必确保应用具备重连机制。

相关API

API 描述
FailoverDBCluster 手动对PolarDB集群进行主备切换,可以指定一个只读节点为新的主节点。