手动执行主备切换

更新时间:
复制为 MD 格式

云数据库 Tair(兼容 Redis)实例支持手动执行主备切换,即主动交换主节点与备节点的角色。与系统自动故障转移不同,手动切换为您提供了在非故障场景下主动管控实例的能力。

应用场景

  • 容灾演练:在业务低峰期模拟节点故障,验证业务应用在数据库发生切换时的容灾能力和可靠性。

  • 优化访问延迟:当应用与主节点部署在不同可用区时,通过主备切换,将主节点切换至应用所在的可用区,实现就近访问,降低网络延迟。

场景示例

在本案例的环境中,应用所属的ECS实例在可用区B,实例的主节点在可用区A,ECS需要跨可用区连接主节点,将导致网络延迟增高,影响实例的性能和业务的运行。

可用区就近连接示例

为优化云资源的部署架构,您可以将节点的角色进行互换。在本案例中,执行主备切换,可用区B中的节点角色变更为主节点(仅更改节点的角色,不会改变节点所属的可用区和ID),从而实现ECS和实例同可用区的就近连接,网络延时最小。

前提条件

实例类型为高可用

说明

单副本架构不支持主备切换。

切换影响

  • 执行切换的数据节点将出现秒级的连接闪断,同时,为避免主备切换引起潜在的数据丢失风险(例如主备节点数据同步延迟引起数据不一致)、DNS缓存引起的数据双写,该数据节点还会出现30秒内的只读状态。

  • 实例处于切换中状态时,您将无法执行实例级别的操作(例如变更配置、迁移可用区等)。

说明

关于无感切换

当实例和客户端版本满足以下条件时,可实现无感主备切换,从而避免连接闪断和只读状态对业务的影响:

  • 实例版本:7.0.2.9及以上。

  • 客户端版本:Valkey-Java 5.3.0及以上,或Valkey-Go 1.0.67及以上。

操作步骤

  1. 访问实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏,单击服务可用性

  3. 数据节点区域框,选中需要执行切换的数据分片,单击主从切换

    说明

    若实例为集群架构,您可以在本页面查看到各数据分片中,主备节点所属的可用区信息。

  4. 在右侧弹出的面板中,选择切换的生效时间。

    • 立即生效:立即执行主备切换。

    • 可运维时间内生效:在您设置的可维护时间段内进行切换。关于如何查看和修改可维护时间段,请参见设置可维护时段

      说明

      如果您选择可运维时间内生效,系统会立即开始进行资源申请、数据同步等前置准备工作,此时实例状态将变为切换中,但这并不会影响实例的正常服务。实际的节点角色切换及伴随的业务影响(如连接闪断和只读状态)只会在到达可维护时段时才会发生。

  5. 单击确定

    为保障安全,请按界面提示完成二次验证(例MFA),验证后15分钟内免重复验证。

相关API

API接口

说明

SwitchInstanceHA - 切换实例HA

手动执行主备切换,可应用于容灾演练、多可用区场景下的应用就近连接等需求。

相关文档

本文介绍的是手动执行的主备切换。作为高可用能力的另一核心,云数据库 Tair(兼容 Redis)也支持自动故障转移。系统会持续监测节点的健康状态,一旦发现主节点不可用,便会自动触发主备切换,将备节点提升为新的主节点,从而保障服务的高可用性。更多信息,请参见高可用