操作场景
在多可用区部署场景下,跨可用区访问会带来额外的网络时延(通常为2ms~5ms)。为降低业务访问时延,腾讯云分布式缓存数据库提供就近访问能力:在本可用区存在可用节点时,将读请求优先路由到同可用区的节点,避免跨可用区访问。
工作原理
该能力通过参数 read-local-node-only 控制,默认不开启。开启后,读请求在两个层面实现就近路由:
1. 接入层:负载均衡集群感知各 Proxy 所在可用区,当本可用区存在可用 Proxy 时,只访问本可用区的 Proxy。
2. 数据层:Proxy 依据数据节点内置的可用区信息,将读请求路由到同可用区的节点。
前提条件
实例为多可用区部署架构。单可用区实例升级为多可用区的操作,请参见 变更可用区。 已开启副本只读(读写分离),且业务能够接受副本节点数据延后于主节点的情况。开启方式请参见 副本只读。 操作步骤
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,找到目标实例。
4. 单击目标实例 ID,进入实例详情页面。
5. 在实例详情页面,选择参数配置页面。
6. 在可修改参数页签,在参数列表中,找到参数 read-local-node-only 参数行,在当前运行参数值列,将鼠标放在参数值上面,单击修改参数值。将其设置为 yes,即可开启就近访问。更多操作,请参见 管理实例参数。 补充说明
版本要求:若实例当前版本不支持就近访问,需在升级为多可用区时同步升级 Proxy 版本和 Redis 内核小版本。该操作涉及数据搬迁,可能耗时较长,请按控制台界面提示操作。
路由优先级:就近访问的优先级高于只读路由策略。开启后,读请求优先读取同可用区节点,再依照只读路由策略执行。
典型场景(策略退化):实例已开启副本只读、只读路由策略设置为副本节点、并已开启就近访问,但主可用区只有1个主节点(无副本)。此时主可用区业务访问到本可用区 Proxy 时,Proxy 会忽略只读副本策略,退化为读取主节点,以优先保障就近不跨区访问。
数据一致性:开启副本只读意味着业务须能接受副本数据延迟(副本节点数据略后于主节点)。对数据一致性要求高的读请求,应路由到主节点。
相关 API