缓存数据库 Redis 版支持为多可用区实例开启就近访问功能。功能开启后,读请求会发往距离请求客户端最近可用区的节点,来降低业务访问 Redis 服务的时延。本文介绍就近访问功能相关操作步骤。
已部署了多可用区的主备实例。关于多可用区的部署方法,请参见部署多可用区。
说明
单节点实例不支持多可用区部署,因此也不支持就近访问功能。关于两种类型实例的功能特性差异详情,请参见功能特性差异
说明
read_local_node_only
和 read_request_distribution_strategy
的参数说明,请参见参数支持。缓存数据库 Redis 版支持通过 read_local_node_only
参数来开启或关闭多可用区实例的就近访问功能。Redis 会结合读写分离参数(即 read_request_distribution_strategy
)共同决定读请求的发送策略。其中:
当就近访问功能开启(即 read_local_node_only
取值为 yes
)时,读写分离策略不同,读请求的发送策略也不同。具体情况如下表所示。
读写分离策略 | 读请求发送策略 | 示意图 |
---|---|---|
| 就近访问功能已开启但不生效。此时读请求在不同可用区的发送策略如下:
| |
| 就近访问功能生效,读请求在不同可用区的发送策略如下:
| |
| 就近访问功能生效,读请求在不同可用区的发送策略如下:
|
当就近访问功能关闭(即 read_local_node_only
取值为 no
)时,读请求发送策略仅由读写分离参数取值决定,具体策略如下:
read_primary_node_only
:读请求仅发送到主节点。read_secondary_nodes_only
:读请求随机发送到所有从节点,均匀分布。read_primary_node_and_secondary_nodes
:读请求随机发送到主节点和所有从节点,均匀分布。修改就近访问功能(read_local_node_only
)的参数值后,客户端可能会短暂出现请求失败相关报错,建议在业务低峰期执行参数修改操作,并确保客户端配置了正确的重试机制。
read_local_node_only
参数,并根据业务需要修改参数值。API | 描述 |
---|---|
DescribeDBInstanceParams | 调用 DescribeDBInstanceParams 接口查询指定实例的配置参数信息。 |
ModifyDBInstanceParams | 调用 ModifyDBInstanceParams 接口修改指定实例的配置参数。 |