更新时间:2024-11-26 GMT+08:00

DCS实例规格变更的业务影响

执行实例规格变更操作,建议在业务低峰期进行,在实例规格变更时,会有如下影响。

实例类型变更前须知

  • 支持实例类型变更明细如下:
    • Redis 3.0单机实例支持变更为主备实例,Redis 4.0/Redis 5.0单机实例不支持变更。
    • Redis 3.0主备实例支持变更为Proxy集群实例,Redis 4.0/Redis 5.0/Redis 6.0主备实例暂不支持变更。

      如果Redis 3.0主备实例数据存储在多DB上,或数据存储在非DB0上,不支持变更为Proxy集群;数据必须是只存储在DB0上的主备实例才支持变更为Proxy集群。

    • 集群实例,不支持实例类型变更。
  • 实例类型变更影响:
    • Redis 3.0单机实例类型变更为Redis 3.0主备实例。

      连接会有秒级中断,大约1分钟左右的只读。

    • Redis 3.0主备实例类型变更为Redis 3.0 Proxy实例。

      连接会中断,5~30分钟只读。

实例规格大小变更前须知

  • 支持扩容和缩容明细如下:
    表1 DCS实例规格变更说明

    缓存类型

    单机实例

    主备实例

    Cluster集群实例

    Proxy集群实例

    Redis 3.0

    支持扩容和缩容

    支持扩容和缩容

    不涉及

    支持扩容

    Redis 4.0/5.0

    支持扩容和缩容

    支持扩容、缩容和副本数变更

    支持扩容、缩容和副本数变更

    支持扩容和缩容

    Redis 6.0

    支持扩容和缩容

    支持扩容和缩容

    支持扩容、缩容和副本数变更

    不涉及

    Redis 3.0实例在预留内存不足的情况下,内存用满可能会导致扩容失败。

    副本数变更和容量变更不支持同时进行,需分开两次执行变更。

  • 实例规格大小变更影响如下:
    • 单机和主备实例规格大小变更
      • Redis 4.0及以上版本实例变更期间,连接会有秒级中断,大约1分钟的只读。
      • Redis 3.0实例变更期间,连接会中断,5~30分钟只读。
      • 如果是扩容,只扩大实例的内存,不会提升CPU处理能力。
      • 如果是单机实例规格变更,由于单机实例不支持持久化,没有数据可靠性,变更实例可能会丢失数据。在实例变更后,需要确认数据完整性以及是否需要再次填充数据。
      • 主备实例的备份记录,缩容后不能使用。
    • 集群实例规格大小变更
      • 规格变更分片数未减少时,连接不中断,但会占用CPU,导致性能有20%以内的下降,扩容数据迁移期间,访问时延会增大。
      • 集群实例扩容会新增加数据节点,数据自动负载均衡到新的数据节点。
      • 规格变更分片数减少时,会删除节点,请确保应用中没有直接引用这些删除的节点。删除节点会导致连接闪断。
      • 规格变更后实例每个节点的已用内存必须小于节点最大内存的70%,否则将不允许变更。
      • 实例规格变更期间,如果有大批量数据写入导致节点内存写满,将会导致变更失败,建议在业务低峰期进行。
      • 实例规格变更期间,会进行数据迁移,访问正在迁移的key时,时延会增大。Cluster集群请确保客户端能正常处理MOVED和ASK命令,否则会导致请求失败。
      • 变更规格前的备份记录不能恢复。
  • Redis 实例副本数变更须知:

    删除副本会导致连接中断,需确保您的客户端应用具备重连机制和处理异常的能力,否则在删除副本后需要重启客户端应用。