问题描述
相比于单可用区集群来说,腾讯云支持的多可用区集群提供更高的容灾能力,可有效的抵御可用区中断或者机房级别的故障。针对存量实例巡检发现的单可用区Redis集群,推荐升级至多可用区集群部署。
升级限制
此方案适用于腾讯云Redis 4.0及以上版本。存量的Redis 2.8版本推荐优先评估升级到4.0或以上版本,再升级到多可用区。
解决方案
推荐集群满足至少一主两副本架构,主 AZ 一主一副本,副本 AZ 一个副本。这样,当主节点故障时,会优先切换到主AZ的副本,保障主可用区的程序访问不发生跨区网络延迟;当主AZ故障时,会切换到备AZ的副本,快速恢复业务。
针对存量的实例,请基于如下步骤完成跨区的部署。
1. 检查并升级支持多可用区
进入Redis 控制台,点击需要变更的实例,在实例详情页面找到基本信息-可用区-【升级实例支持多可用区】;阅读升级影响,并勾选【升级Proxy版本和Redis内核小版本】,以支持只读本地节点功能。
【影响】升级Proxy 版本和Redis 内核版本,会有3分钟内的一次或多次链接闪断,业务需要有重连机制;此过程无费用支出。
刷新页面,待任务完成后,会看到可用区信息更新如下。
2. 部署多可用区副本
2.1 在目标新可用区增加指定数量的副本。
进入redis实例列表页面,选中目标实例右侧【配置变更】-【增加副本】,在弹出的变更页面,选择新增副本数量以及其可用区。
【影响】增加副本会执行bgsave操作。
待任务完成后,刷新页面,会看到新增的副本可用区信息。
2.2 (可选)删除不需要的副本
如果主可用区的副本数量出现冗余,那么根据如下步骤可以完成删除,减少不必要的资源成本。
【注意事项】推荐主可用区保留至少一个容灾副本,用于实例级别故障在同可用区容灾;开启副本只读的节点,需提前评估跨可用区访问的延迟对读业务的影响。
【影响】删除副本会包含回收proxy节点的过程,回收proxy会造成连接的闪断;如果开启了副本只读,那么每删除一个副本也会感知到连接的闪断。请客户提前知晓。
在节点管理页面,选择待删除的副本或者副本组。
3 参数配置
3.1 启用只读本地副本(可选)
针对开通了副本只读的实例,推荐配置read-local-node-only=yes 启用只读本地副本。
在实例列表选中目标实例,点击【参数配置】,修改参数read-local-node-only=yes
【注意事项】云数据库 Redis 在开启副本只读时,可以指定只读路由策略,该策略可以控制账号是否要读主节点,当开启就近访问(read-local-node-only)功能后,就近访问的优先级要高于只读路由策略,因此在开启就近访问的情况下,只读路由策略的执行情况是优先读同可用区,然后再依照只读路由策略执行。
3.2 查看并确定开启自动回切功能(可选)
在实例管理页面,选择【参数配置】页,通过 auto-failback 参数开启或者关闭自动回切功能。
自动回切:开启自动回切功能,在 Redis 节点故障恢复后,系统将自动地将主节点调整到主可用区或者主节点组(集群架构),以简化故障切换后的运维操作.