调用SwitchInstanceHA执行主从切换(即切换节点角色),可应用于容灾演练、多可用区场景下的应用就近连接等需求。

说明 关于多可用区场景下的应用就近连接的详细说明,请参见场景示例

调用本接口时,Redis实例需为本地盘实例,且需为社区版或企业版(性能增强型混合存储型)。

调用本接口将产生下述影响:

  • 触发节点角色切换后,执行切换的数据节点将出现秒级的只读状态和连接闪断,请确保您的应用具备重连机制。
  • 实例处于切换中状态时,您将无法执行实例级别的操作(例如变更配置、迁移可用区等)。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String SwitchInstanceHA

系统规定的参数,取值:SwitchInstanceHA

InstanceId String r-bp1zxszhcgatnx****

实例ID,可调用DescribeInstances获取。

SwitchType String AvailablePriority

切换模式,取值:

  • AvailablePriority:可用性优先。
  • ReliabilityPriority:可靠性优先。
  • DataConsistency:数据一致性优先。
说明 您需要根据业务场景对数据、服务等方面的需求进行衡量,然后选取切换模式。
RegionId String cn-hangzhou

实例所属地域的ID,可调用DescribeRegions获取。

NodeId String r-bp1zxszhcgatnx****db-0,r-bp1zxszhcgatnx****db-1

数据分片节点ID,多个分片节点ID之间使用英文逗号(,)分隔。

说明
  • 当Redis实例为集群或读写分离架构时,本参数才可用。
  • 您可以调用DescribeLogicInstanceTopology获取。对于获取到的数据节点ID,需要去除井号(#)及其后面的内容,例如仅保留r-bp10noxlhcoim2****-db-0
SwitchMode Integer 0

执行时间,取值:

  • 0:立即执行,默认值。
  • 1:在可维护时间段执行。
说明 您可以调用ModifyInstanceMaintainTime修改Redis实例的可维护时间段。

返回数据

名称 类型 示例值 描述
RequestId String 5D622714-AEDD-4609-9167-F5DDD3D1****

请求ID。

示例

请求示例

http(s)://r-kvstore.aliyuncs.com/?Action=SwitchInstanceHA
&InstanceId=r-bp1zxszhcgatnx****
&SwitchType=AvailablePriority
&<公共请求参数>

正常返回示例

XML格式

<DeleteShardingNodeResponse>
	  <RequestId>5D622714-AEDD-4609-9167-F5DDD3D1****</RequestId>
</DeleteShardingNodeResponse>

JSON格式

{
	"RequestId": "5D622714-AEDD-4609-9167-F5DDD3D1****"
}

错误码

访问错误中心查看更多错误码。