更新时间:2024-07-29 GMT+08:00

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

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

实例类型变更前须知

  • 支持实例类型变更明细如下:
    • Redis 3.0和Memcached单机实例支持变更为主备实例,Redis 4.0/Redis 5.0/Redis 6.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

    支持扩容和缩容

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

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

    不涉及

    Redis 5.0

    支持扩容和缩容

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

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

    不涉及

    Redis 6.0

    支持扩容和缩容

    支持扩容和缩容

    不涉及

    不涉及

    Memcached

    支持扩容和缩容

    支持扩容和缩容

    不涉及

    不涉及

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

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

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

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