当系统发生故障时,PolarDB集群会自动进行主备切换。您也可以手动进行主备切换,指定一个只读节点为新的主节点。
注意事项
不论是自动切换还是手动切换,切换过程中,都可能会出现20~30秒左右的闪断,因此切换前请务必确保应用具备重连机制。
自动主备切换
PolarDB集群版采用双活(Active-Active)的高可用集群架构。当系统发生故障时,可读写的主节点和只读节点之间会自动进行故障切换(Failover),系统自动选举新的主节点。
集群中每个节点都有一个故障切换(Failover)优先级,该优先级决定了故障切换时每个节点被选举为主节点的概率高低。当多个节点的优先级相同时,则有相同的概率被选举为主节点。
自动选举主节点按以下步骤进行:
- 系统找出当前可以被选举的所有只读节点。
- 选择优先级最高的一个或多个只读节点。
- 如果切换第一个节点失败(例如,网络原因、复制状态异常等),则会尝试切换下一个,直至成功。
说明 切换过程中,可能会出现20~30秒左右的闪断,因此切换前请务必确保应用具备重连机制。
您可在集群基本信息页面的数据库节点区域,查看并设置集群中每个节点的Failover优先级。

手动主备切换
您也可以手动进行主备切换,指定一个只读节点为新的主节点。手动切换适用于高可用演练,或者需要指定某个节点为主节点的场景。
相关API
API | 描述 |
---|---|
FailoverDBCluster | 手动对PolarDB集群进行主备切换,可以指定一个只读节点为新的主节点。 |