集群无感扩缩容介绍

云数据库 Tair(兼容 Redis)集群架构实例基于新一代管控架构,提供了全新的扩缩容解决方案。在扩容(增加集群分片数量)、缩容(减少集群分片数量)时可以有效规避应用侧产生-ASK-TRYAGAIN 等错误,实现无感扩缩容。

特性说明

云数据库 Tair(兼容 Redis)集群架构实例扩缩容具有以下特点:

  • 高效的扩缩容管理:通过中心化的控制组件,实现对集群行为的高效、精准控制。

  • 无感知的数据迁移:深入修改内核的数据复制逻辑,实现业务连接不闪断、无只读状态。

  • 弹性资源伸缩:支持随时弹性伸缩,满足不同业务场景下的资源需求。

与原生Redis Cluster扩缩容相比,本特性具备下述优势:

  • 无报错请求:在扩缩容期间,应用侧请求不会产生错误,大幅度提高了业务的稳定性和用户体验。

    说明

    无感扩缩容特性无法保证在所有场景下均生效,在少部分扩缩容场景中(请参见注意事项),应用侧依旧可能会有报错。因此,不建议应用侧完全依赖本特性,请提前设计好预案。

  • 最小化延迟:在扩缩容过程中,根据写入流量的不同,应用侧可能会观察到数百毫秒到数秒的延迟,但通常不会影响业务的正常运行。

适用实例

适用下述实例版本:

  • Redis开源版5.0实例(小版本5.2.0及以上)

  • Redis开源版6.0实例(小版本6.0.2.0及以上)

  • Redis开源版7.0实例

  • Tair(企业版)内存型兼容Redis 5.0版(小版本5.0.34及以上)

  • Tair(企业版)内存型兼容Redis 6.0版

  • Tair(企业版)内存型兼容Redis 7.0版

注意事项

  • 经典版集群架构代理模式不支持本特性。

  • 客户端要求:

    • 扩缩容期间,客户端与实例不会断连,但可能会有较高的延迟导致客户端命令超时,需要客户端具有超时重连能力。

    • 若实例为集群架构直连模式,需要客户端能正确处理MOVED命令。

    说明

    建议使用阿里云推荐的客户端

  • 使用命令要求:

    • 在扩缩容期间使用Blocking类命令可能会产生报错。

    • 在扩缩容期间使用Pub/Sub类命令不提供一致性保证,且视客户端实现可能会产生报错。