You need to enable JavaScript to run this app.
导航

设置就近访问

最近更新时间2024.02.07 12:41:56

首次发布时间2023.12.26 10:23:55

缓存数据库 Redis 版支持为多可用区实例开启就近访问功能。功能开启后,读请求会发往距离请求客户端最近可用区的节点,来降低业务访问 Redis 服务的时延。本文介绍就近访问功能相关操作步骤。

前提条件

实例已部署了多可用区。关于多可用区的部署方法,请参见部署多可用区

功能介绍

说明

  • 更多关于 read_local_node_onlyread_request_distribution_strategy 的参数说明,请参见参数支持
  • 本文以实例中单个分片的读请求发送策略为例,实例中其他分片的读请求发送策略与本文中的策略一致。

缓存数据库 Redis 版支持通过 read_local_node_only 参数来开启或关闭多可用区实例的就近访问功能。Redis 会结合读写分离参数(即 read_request_distribution_strategy)共同决定读请求的发送策略。其中:

  • 当就近访问功能开启(即 read_local_node_only 取值为 yes)时,读写分离策略不同,读请求的发送策略也不同。具体情况如下表所示。

    读写分离策略读请求发送策略示意图

    read_primary_node_only

    就近访问功能已开启但不生效。此时读请求在不同可用区的发送策略如下:

    • 主节点所在的可用区
      读请求都仅发送到主节点。
    • 不包含主节点的可用区
      读请求都会跨可用区发送到主节点。

    仅主

    read_secondary_nodes_only

    就近访问功能生效,读请求在不同可用区的发送策略如下:

    • 主节点所在的可用区
      读请求发送到当前可用区的所有从节点,均匀分布。

      说明

      若主节点所在的可用区内只有 1 个主节点没有其他从节点,则所有读请求会发往主节点。

    • 不包含主节点的可用区
      读请求发送到距离请求客户端最近可用区内的所有从节点,均匀分布。

    仅从

    read_primary_node_and_secondary_nodes

    就近访问功能生效,读请求在不同可用区的发送策略如下:

    • 主节点所在的可用区
      读请求发送到当前可用区的主节点和所有从节点,均匀分布。

      说明

      若主节点所在的可用区内只有 1 个主节点没有其他从节点,则所有读请求会发往主节点。

    • 不包含主节点的可用区
      读请求发送到距离请求客户端最近可用区内的所有从节点,均匀分布。

    主和从

  • 当就近访问功能关闭(即 read_local_node_only 取值为 no)时,读请求发送策略仅由读写分离参数取值决定,具体策略如下:

    • read_primary_node_only:读请求仅发送到主节点。
    • read_secondary_nodes_only:读请求随机发送到所有从节点,均匀分布。
    • read_primary_node_and_secondary_nodes:读请求随机发送到主节点和所有从节点,均匀分布。

注意事项

修改就近访问功能(read_local_node_only)的参数值后,客户端可能会短暂出现请求失败相关报错,建议在业务低峰期执行参数修改操作,并确保客户端配置了正确的重试机制。

操作步骤

  1. 登录 Redis 控制台
  2. 在顶部菜单栏的左上角,选择实例所属的项目和地域。
  3. 实例列表页,单击目标实例名称。
  4. 在实例详情页,单击参数配置页签。
  5. 参数列表页签,单击批量修改参数,从参数列表中找到 read_request_distribution_strategy 参数,并根据业务需要修改参数值。
  6. 修改完成后,单击参数列表左上角的提交
  7. 在弹出的对话框中,确认需要修改的参数和参数值,单击确定

相关 API

API描述
DescribeDBInstanceParams调用 DescribeDBInstanceParams 接口查询指定实例的配置参数信息。
ModifyDBInstanceParams调用 ModifyDBInstanceParams 接口修改指定实例的配置参数。