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

自动主备切换

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

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

自动选举主节点按以下步骤进行:
  1. 系统找出当前可以被选举的所有只读节点。
  2. 选择优先级最高的一个或多个只读节点。
  3. 如果切换第一个节点失败(例如,网络原因、复制状态异常等),则会尝试切换下一个,直至成功。

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

节点failover优先级

手动主备切换

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

  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 找到目标集群,单击集群ID。
  4. 基本信息页面的数据库节点区域,单击右上角切换图标切换视图。
  5. 单击主备切换
    1
  6. 在弹出的对话框中,选择新主节点,单击确定
    说明 如果您没有选择 新主节点,系统将自动选举优先级最高的只读节点作为新主节点进行切换。切换时可能会出现30秒左右的闪断,请确保应用具备重连机制。

相关API

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