云服务器内容精选

  • 不同实例类型的副本和分片数 单机实例:单机实例只有1个节点,1个Redis进程,当Redis进程故障后,D CS 为实例重新拉起一个新的Redis进程。 主备/读写分离实例:分片数为1,包含一个主节点,一个或多个备节点。当主节点出现故障时,会进行主备倒换,恢复业务。 集群实例:集群实例由多个分片组成,每个分片默认是一个双副本的主备实例。例如一个3分片,2副本的集群实例,则每个分片都有2个节点(1个主节点,1个备节点)。 实例类型 分片数 副本数 负载均衡 占用IP数 单机 单分片 单副本,不支持多副本 - 1个 主备 单分片 默认双副本 Redis 4.0/5.0版本主备实例支持2-10副本,其他版本仅支持2副本 不支持 占用IP个数=副本数 读写分离 单分片 默认双副本,支持2-6副本 支持 1个 Proxy集群 多分片 双副本,不支持其他副本数 支持 1个 Cluster集群 多分片 默认双副本 Redis 4.0/5.0版本Cluster集群支持1-5副本,Redis 6.0版本支持1-2副本 不支持 占用IP个数=副本数*分片数
  • 实例规格变更须知 支持实例规格变更明细如下: 表2 实例规格变更明细 缓存类型 单机实例 主备实例 Cluster集群实例 Proxy集群实例 读写分离实例 Redis 3.0 支持扩容和缩容 支持扩容和缩容 - 仅支持扩容 - Redis 4.0 支持扩容和缩容 支持扩容、缩容和副本数变更 支持扩容、缩容和副本数变更 支持扩容和缩容 支持扩容、缩容和副本数变更 Redis 5.0 支持扩容和缩容 支持扩容、缩容和副本数变更 支持扩容、缩容和副本数变更 支持扩容和缩容 支持扩容、缩容和副本数变更 Redis 6.0 基础版 支持扩容和缩容 支持扩容和缩容 支持扩容、缩容和副本数变更 支持扩容和缩容 支持扩容、缩容和副本数变更 Redis 6.0 企业版 - 支持扩容和缩容 - - - Memcached 支持扩容和缩容 支持扩容和缩容 - - - Redis 3.0和Memcached实例在预留内存不足的情况下,内存用满可能会导致扩容失败,具体可参考预留内存。 副本数变更和容量变更不支持同时进行,需分开两次执行变更。 删除副本时,每次操作仅支持删除一个副本。 实例规格变更的影响: 表3 实例规格变更的影响 实例类型 规格变更类型 实例规格变更的影响 单机、主备和读写分离实例 扩容/缩容 Redis 4.0及以上版本基础版实例,扩容期间连接会有秒级中断,大约1分钟的只读,缩容期间连接不会中断。 Redis 3.0实例,规格变更期间连接会有秒级中断,5~30分钟只读。 Redis企业版实例,规格变更期间连接会有秒级中断,大约1分钟的只读。 如果是扩容,只扩大实例的内存,不会提升CPU处理能力。 单机实例不支持持久化,变更规格不能保证数据可靠性。在实例变更后,需要确认数据完整性以及是否需要再次填充数据。如果有重要数据,建议先把数据用迁移工具迁移到其他实例备份。 主备和读写分离实例缩容前的备份记录,缩容后不能使用。如有需要请提前下载备份文件,或缩容后重新备份。 Proxy和Cluster集群实例 扩容/缩容 水平扩容(分片数增加): 连接不中断,但会占用CPU,导致性能有20%以内的下降。 分片数增加时,会新增数据节点,数据自动负载均衡到新的数据节点,访问时延会增大。 水平缩容(分片数减少): 分片数减少时,会删除节点。Cluster集群实例缩容前,请确保应用中没有直接引用这些删除的节点,否则可能导致业务访问异常。 删除节点会导致连接闪断,请确保您的客户端应用具备重连机制和处理异常的能力,否则在变更规格后可能需要重启客户端应用。 垂直扩容(分片数不变,分片容量增加): 如果节点所在的虚拟机内存容量不足,会发生节点迁移,迁移时业务连接会有闪断和只读。 如果虚拟机内存容量充足,则直接扩大节点容量,对业务无影响。 说明: Redis 3.0版本集群实例不支持垂直扩缩容,Redis 4.0及以上版本集群实例如需扩容集群实例单分片容量,请联系技术支持添加垂直扩容特性白名单。 垂直缩容(分片数不变,分片容量减少):无影响。 实例缩容前,每个节点的已用内存要小于缩容后节点最大内存的70%,否则将不允许变更。 实例规格变更期间,可能会进行数据迁移,访问时延会增大。Cluster集群请确保客户端能正常处理MOVED和ASK命令,否则会导致请求失败。 实例规格变更期间,如果有大批量数据写入导致节点内存写满,将会导致变更失败。 在实例规格变更前,请先使用缓存分析中的大key分析,确保实例中没有大key存在,否则在规格改变后,节点间进行数据迁移的过程中,单个key过大(≥512MB)会触发Redis内核对于单key的迁移限制,造成数据迁移超时失败,进而导致规格变更失败,key越大失败的概率越高。 Cluster集群实例扩容或缩容时,请确保客户端开启集群拓扑自动刷新配置,否则在变更后需要重启客户端。Lettuce客户端开启集群拓扑自动刷新配置请参考Lettuce客户端连接Cluster集群实例中的示例。 实例规格变更前的备份记录,变更后不能使用。如有需要请提前下载备份文件,或变更后重新备份。 主备、读写分离和Cluster集群实例 副本数变更 Cluster集群实例增加或删除副本时,请确保客户端开启集群拓扑自动刷新配置,否则在变更后需要重启客户端。Lettuce客户端开启集群拓扑自动刷新配置请参考Lettuce客户端连接Cluster集群实例中的示例。 删除副本会导致连接中断,需确保您的客户端应用具备重连机制和处理异常的能力,否则在删除副本后需要重启客户端应用。增加副本不会连接中断。 当副本数已经为实例支持的最小副本数时,不支持删除副本。
  • 实例类型变更须知 表1 DCS实例类型变更明细 实例版本 支持的实例变更类型 变更须知及影响 Redis 3.0 单机实例变更为主备实例 连接会有秒级中断,大约1分钟左右的只读。 主备实例变更为Proxy集群实例 如果Redis 3.0主备实例数据存储在多DB上,或数据存储在非DB0上,不支持变更为Proxy集群;数据必须是只存储在DB0上的主备实例才支持变更为Proxy集群。 连接会中断,5~30分钟只读。 Memcached 单机实例变更为主备实例 会有秒级业务中断、大约1分钟只读。 Redis 4.0/5.0/6.0 主备实例或读写分离实例变更为Proxy集群实例 变更为proxy集群时,需要评估proxy集群的多DB使用限制和命令使用限制对业务的影响。具体请参考proxy集群使用多DB限制,实例受限使用命令。 变更前实例的已用内存必须小于变更后最大内存的70%,否则将不允许变更。 如果变更前实例的已用内存超过总内存的90%,变更的过程中可能会导致部分key逐出。 变更完成后需要对实例重新创建告警规则。 如果原实例是主备实例,请确保应用中没有直接引用只读IP或只读 域名 。 请确保您的客户端应用具备重连机制和处理异常的能力,否则在变更规格后有可能需要重启客户端应用。 变更规格过程中会有秒级业务中断、大约1分钟只读,建议在业务低峰时进行变更。 Proxy集群实例变更为主备实例或读写分离实例 Redis 4.0/5.0/6.0 主备实例变更为读写分离实例 说明: 读写分离实例暂不支持直接变更为主备实例。 目前只支持主备实例变更为相同容量的读写分离实例,小于4G规格的主备实例不支持变更为读写分离实例。 如果变更前实例的已用内存超过总内存的90%,变更的过程中可能会导致部分key逐出。 变更完成后需要对实例重新创建告警规则。 请确保主备实例的应用中没有直接引用只读IP或只读域名。 请确保您的客户端应用具备重连机制和处理异常的能力,否则在变更规格后有可能需要重启客户端应用。 变更规格过程中会有秒级业务中断,建议在业务低峰时进行变更。 主备实例如果创建了ACL账号,不支持变更为读写分离实例。 Redis 6.0如果开启了SSL链路加密传输,不支持变更为读写分离实例。 除了上表中提到的实例外,其他实例类型目前不支持实例类型的变更,若您想实现跨实例类型的规格变更,可参考使用迁移任务在线迁移Redis实例进行操作。 实例类型变更后支持的命令,请参考对应的开源命令兼容性。
  • DCS实例如何缩容? DCS实例支持扩容和缩容明细如下表1。 表1 实例规格变更明细 缓存类型 单机实例 主备实例 Cluster集群实例 Proxy集群实例 读写分离实例 Redis 3.0 支持扩容和缩容 支持扩容和缩容 - 仅支持扩容 - Redis 4.0 支持扩容和缩容 支持扩容、缩容和副本数变更 支持扩容、缩容和副本数变更 支持扩容和缩容 支持扩容、缩容和副本数变更 Redis 5.0 支持扩容和缩容 支持扩容、缩容和副本数变更 支持扩容、缩容和副本数变更 支持扩容和缩容 支持扩容、缩容和副本数变更 Redis 6.0 基础版 支持扩容和缩容 支持扩容和缩容 支持扩容、缩容和副本数变更 支持扩容和缩容 支持扩容、缩容和副本数变更 Redis 6.0 企业版 - 支持扩容和缩容 - - - Memcached 支持扩容和缩容 支持扩容和缩容 - - - 实例扩容、缩容操作请参考规格变更。 如果Redis 3.0 Proxy集群需要缩容,可以先进行数据备份,然后另外创建对应规格的Proxy集群实例,使用备份文件导入方式,将备份数据文件导入到新的Proxy集群实例。待数据迁移完成后,再释放原来规格的Proxy集群实例。在线迁移操作,可以参考备份文件导入方式。 父主题: 扩容缩容与实例升级
  • Redis实例是否支持版本升级,如Redis 4.0升级到Redis 5.0? 暂不支持直接升级。Redis不同版本的底层架构不一样,在创建Redis实例时,确定Redis版本后,不能修改,如Redis 4.0的实例不能升级到Redis 5.0。 如您的业务需要使用Redis高版本的功能特性,可重新创建高版本Redis实例,然后将原有Redis实例的数据迁移到高版本实例上。具体数据迁移操作,可参考数据迁移指南。 父主题: 扩容缩容与实例升级
  • 入门实践 本文介绍DCS常见的应用实践,帮助您更好的使用DCS。 实践 描述 使用DCS实现热点资源顺序访问 在互联网场景,例如商品秒杀,随着系统的并发飙升,需要多台机器并发运行。如果有两个用户同时发起的请求分别落在两个不同的机器上,虽然这两个请求可以同时执行,但是因为两个机器运行在两个不同的Java虚拟机中,每个机器加的锁不是同一个,不同的锁只对属于自己Java虚拟机里面的线程有效,对其他Java虚拟机的线程无效。通过DCS服务Redis可以实现分布式加锁,对热点资源进行顺序访问控制,避免出现库存超卖及无序访问等现象。该实践介绍如何使用Redis对分布式应用加锁。 使用DCS实现游戏开合服的数据同步 游戏开合服,指大型网络游戏开启新服务器(服务区)或将新老服务器合并。在游戏开合服过程中,会遇到如何将不同服务器数据同步的问题。通过DCS服务Redis的消息队列pub/sub机制,可以将数据变更消息发布到Redis的频道中,其他游戏服务器订阅该频道,接收数据变更消息,从而实现数据同步。该实践介绍如何使用Redis实现不同服务器数据同步。 Redis客户端通过CCE连接DCS 随着容器技术的普及,越来越多的应用程序部署在容器环境中。该实践介绍如何将Redis客户端部署到云容器引擎CCE的集群容器中,通过CCE连接DCS。
  • DCS支持的迁移能力 DCS Redis:指的是华为云分布式缓存服务的Redis。 自建Redis:指的是在云上、其他云厂商、本地数据中心自行搭建Redis。 √表示支持,×表示不支持。 源端为其他云厂商Redis时,只有在满足和目标DCS Redis的网络相通、源Redis已放通SYNC和PSYNC命令这两个前提下,才可以使用在线迁移的方式,将源Redis中的数据全量迁移或增量迁移到目标Redis中,但其他云厂商的部分实例可能存在无法在线迁移的问题,可以采用离线或其它迁移方案,具体请参考迁移方案概览。
  • 迁移信息收集表 评估和准备阶段收集的信息填写参考下表: 表2 迁移信息收集 迁移源 信息项 说明 源Redis (列出所有待迁移的实例) 源Redis实例的IP地址 - Redis访问密码(如有) - 总数据量大小 执行info memory命令,参考used_memory_human的值得到总数据量大小。 用于评估迁移方案、DCS缓存实例规格、ECS可用磁盘空间等是否满足,以及预估迁移耗时(业务中断时间)。 不为空的数据库编号 info keyspace命令查询得到。 用于确认迁移是否涉及多数据库,非AOF文件方式迁移,部分开源工具可能须逐库处理导出和导入。 DCS缓存实例中,单机和主备实例支持0-255共256个数据库,集群默认只提供一个数据库。 各数据库的key数量 用于迁移后进行数据完整性验证。 数据类型 CDM 迁移服务当前支持Hash和String两种数据格式,如果源数据含有list、set之类数据,请采用第三方迁移工具。 华为云ECS(弹性云服务器) 如果待迁移实例较多,可准备多台ECS并行迁移 弹性IP地址 选择与DCS缓存实例网络互通的弹性云服务器进行数据导入,确保导入过程网络稳定。 带宽建议选取高配,提升数据传输效率。 系统登录用户/密码 - CPU/内存 部分迁移工具支持多线程并行导入,使用高规格ECS,能提升导入速度。 可用磁盘空间 ECS需要预留足够的可用磁盘空间,存储压缩文件以及解压后的缓存数据文件。 注:为提高数据传输效率,对于较大的数据文件,建议压缩后再传输到弹性云服务器。 DCS缓存实例 (根据源Redis实例数与数据量情况选择合适的规格与实例数) 实例连接地址 - 实例连接端口 - 实例访问密码 - 实例类型 - 实例规格/可用内存 - 网络配置 VPC 提前规划VPC,确保应用服务、DCS缓存实例等处于相同VPC中。 子网 - 安全组或白名单 由于Redis 3.0和Redis 4.0/5.0/6.0实例部署模式不一样,控制访问方式也不一样,需要制定相应的安全组或白名单规则,确保网络连通。具体请根据目标Redis实例参考配置安全组或者配置白名单 ... ... 其他配置信息。
  • 准备实例依赖资源 DCS的Redis实例部署于虚拟私有云(VPC)中,且需要绑定具体的子网,通过这样的方式为Redis提供隔离的、用户可自主配置管理的虚拟网络环境。如果是企业版Redis,还需要配置安全组,以提升实例的安全性。 因此,在创建Redis实例前您需要提前准备Redis实例的相关依赖资源:VPC、子网和安全组。如果已有VPC、子网和安全组,可重复使用,不需要重新创建。 仅创建企业版Redis实例时需要准备安全组。 表1 DCS依赖资源 准备资源 要求 创建指导 VPC和子网 不同的Redis实例可以重复使用相同的VPC和子网,也可以使用不同的VPC和子网,请根据实际需要进行配置。在创建VPC和子网时应注意如下要求: 创建的VPC与使用的DCS服务应在相同的区域。 创建VPC和子网时,如无特殊需求,配置参数使用默认配置即可。 创建VPC和子网的操作指导,请参考创建虚拟私有云和子网,若需要在已有VPC上创建和使用新的子网,请参考为虚拟私有云创建新的子网。 安全组 不同的Redis实例可以重复使用相同的安全组,也可以使用不同的安全组,请根据实际需要进行选择。在创建安全组时应注意如下要求: 创建安全组时,“模板”选择“自定义”。 安全组创建后,请保留系统默认添加的入方向“允许安全组内的弹性云服务器彼此通信”规则和出方向“放通全部流量”规则。 Redis 6.0企业版实例必须添加如表2所示安全组规则,其他规则请根据实际需要添加。 创建安全组的操作指导,请参考创建安全组,为安全组添加规则的操作指导,请参考添加安全组规则。 表2 安全组规则 方向 协议 端口 源地址 入方向 TCP 6379 0.0.0.0/0
  • 购买Redis实例 进入购买缓存实例页面。 购买实例支持“快速购买”和“自定义”两种购买方式。 “快速购买”的方式中提供了几种常用的“规格配置”,如图1,如果其中有适合您业务需求的实例类型及配置,您可以通过此方式快速选择并购买。如果您需要灵活的选择其他实例类型、实例规格等信息,请通过“自定义”的方式进行购买,如图2。 “快速购买”和“自定义”两种购买方式只有规格配置的选择方式不同,其他配置方式相同。 图1 快速购买规格配置 图2 自定义购买规格配置 选择“计费模式”。 在“区域”下拉列表中,选择靠近您应用程序的区域,可降低网络延时、提高访问速度。 选择“项目”,每个区域默认对应一个项目。 规格配置。如果您选择的是“快速购买”的方式,请从常见的几种规格配置中进行选择,配置说明请参考表3。如果您选择的是“自定义”的方式,请参考表4配置实例规格。 表3 规格配置说明(快速购买) 规格配置项 配置说明 产品类型-内存规格 产品类型包含“基础版”和“企业版”。Redis企业版与基础版差异 例如:基础版-16GB,为基础版产品类型,内存规格为16GB的实例。 版本号 Redis实例的版本号。不同Redis版本差异请参考Redis版本差异。 说明: 实例创建后,Redis的版本不支持变更或升级。如需使用更高版本的Redis实例,需重新创建高版本Redis实例,然后将原有Redis实例的数据迁移到高版本实例上。 实例类型 快速购买的实例类型包含:主备实例、Cluster集群、或Proxy集群实例。不同实例类型的介绍请参考DCS实例类型。 CPU架构 快速购买方式下的CPU架构为x86类型。 副本数 副本数为2,即实例的节点数为2(一个主节点,一个备节点)。 可用区 快速购买的实例主节点和备节点所在的可用区。 表4 规格配置说明(自定义购买) 规格配置项 配置说明 缓存类型 DCS仅支持购买Redis缓存类型。 产品类型 产品类型包含“基础版”和“企业版”。Redis企业版与基础版差异 仅当“版本号”选择6.0时,支持选择“基础版”和“企业版”,其他版本仅支持“基础版”。 版本类型 企业版实例的版本类型包含“高性能型”和“存储型”。 仅当“产品类型”选择“企业版”时,需要选择版本类型。 CPU架构 CPU架构包含“x86计算”和“Arm计算”两种。 推荐使用“x86计算”类型,部分Region已停售“Arm计算”类型。 版本号 当前DCS支持的Redis版本有:4.0、5.0和6.0。不同Redis版本差异请参考Redis版本差异。 说明: 实例创建后,Redis的版本不支持变更或升级。如需使用更高版本的Redis实例,需重新创建高版本Redis实例,然后将原有Redis实例的数据迁移到高版本实例上。 实例类型 DCS支持的实例类型有:单机、主备、Proxy集群、Cluster集群、和读写分离。不同实例类型的特点和架构,请参考DCS实例类型。 目前,Redis 6.0企业版仅支持主备实例类型。 可用区 选择“可用区”。当“实例类型”为主备、读写分离、Proxy集群、Cluster集群时,可用区会分为“主可用区”和“备可用区”,您需要分别为主备节点设置可用区(AZ)。 每个区域包含多个可用区,当前DCS支持将主备/读写分离/集群实例的主、备节点分别部署在不同的AZ内,使节点间电力与网络均物理隔离。您可以将应用程序也进行跨AZ部署,从而达到数据与应用全部高可用。 说明: 当Redis主备/读写分离/集群实例进行跨可用区部署时,如果其中一个可用区故障,另一个可用区的节点不受影响。备节点会自动升级为主节点,对外提供服务,从而提供更高的容灾能力。 由于实例跨可用区部署时网络访问效率略低于部署在同一可用区内,因此Redis实例跨可用区部署时,主备节点之间同步效率会略有降低。 如果需要提高访问速度,可选择和应用同一个可用区。 在“华南-广州”区域购买DCS实例时,因为该区域可用区1-5与可用区6-7的物理距离较远,为了防止内部访问时延较大,主备可用区不支持分别选择可用区1-5及可用区6-7。例如,主可用区选择了可用区1-5中的一个时,备可用区不支持选择可用区6-7。在其他区域下购买DCS实例时无此限制。 副本数 配置实例副本数。副本指缓存实例的节点。副本数为1表示实例没有备节点,副本数为2表示实例有备节点(一个主节点,一个备节点),副本数为3即实例有一个主节点,2个备节点。 不同版本和实例类型,支持的副本数范围不同,请以控制台显示为准。单机实例不支持设置“副本数”。 规格选择模式 仅当实例类型为集群实例时,支持选择“规格选择模式”,只能选择一种模式,不支持同时定义分片容量和分片数。 快速选择:无需定义单分片容量和分片数,从默认的实例规格中进行选择。 自定义分片容量:先定义单分片的容量,再配置实例规格。 自定义分片数:先定义分片数,再配置实例规格。 实例规格 在“实例规格”区域,选择符合您需求的内存规格。如需了解更多实例性能请参考实例规格。实例规格默认配额请以控制台显示为准。 您如需增加配额,单击规格下方的“申请扩大配额”,即可跳转到工单管理界面提交工单,增加配额。 配置实例网络环境信息。 选择已经创建好的“虚拟私有云”和“子网”。 如需通过弹性云服务器访问实例,请选择与弹性云服务器相同的虚拟私有云。 目前DCS实例创建完成后不支持切换虚拟私有云和子网,请谨慎选择。 您可以通过共享VPC功能,使用其他账号共享的VPC和子网,以实现网络资源的共享和统一管理,提升资源管控效率、降低运维成本。 在“IPv4地址”区域,设置实例IP地址(即内网IP)。 Cluster集群实例和企业版实例仅支持自动分配地址,其他实例类型都支持自动分配IP地址和手动分配IP地址,如果您需要自定义实例IP地址,请选择手动分配IP地址。 配置实例“端口”。购买的基础版Redis实例,支持自定义端口,自定义端口范围为1~65535的任意数字;如果未自定义,则使用默认端口6379。 如果购买的Redis版本为6.0企业版,不支持自定义端口,端口为6379。 在“安全组”下拉列表,选择已经创建好的安全组。 安全组是一组对弹性云服务器的访问规则的集合,为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。 仅企业版Redis实例需要配置安全组。Redis基础版实例是基于VPCEndpoint,暂不支持安全组,建议基础版实例创建完成后配置实例白名单。 如果选择的安全组没有开放6379端口,页面增加显示“开放6379端口”的复选框并默认勾选,表示实例创建后,会默认放开该实例安全组的6379端口。如果所选的安全组没有放开6379端口,将无法连接到该实例。 设置实例的“名称”。 创建单个实例时,名称长度为4到64位的字符串。批量创建实例时,名称长度为4到56位的字符串,实例名称格式为“自定义名称-n”,其中n从000开始,依次递增。例如,批量创建两个实例,自定义名称为dcs_demo,则两个实例的名称为dcs_demo-000和dcs_demo-001。 选择“企业项目”。通过选择企业项目可以帮助您将相关的资源集中在一起,按企业项目的方式来管理云资源。 如果用户无法选择企业项目,建议检查用户权限,参考创建DCS时选择不到需要的企业项目处理。 设置实例密码。 “访问方式”:支持“密码访问”和“免密访问”,您可以设置访问实例时是否要进行密码验证。 选择免密访问方式时,存在安全风险,请谨慎使用。 若申请免密模式的Redis实例,申请成功后,可以通过重置密码进行密码设置,具体可参考修改Redis实例的访问方式。 “密码”和“确认密码”:只有“访问方式”为“密码访问”时,才会显示该参数,请在输入框中配置连接Redis实例的密码。 DCS服务出于安全考虑,在密码访问模式下,连接使用Redis实例时,需要先进行密码认证。 请妥善保存密码,并定期更新密码。系统无法获取您设置的密码内容。 单击“高级配置”,根据需要选择是否设置以下信息。 设置“参数配置”。请根据需要选择参数模板为“系统默认”或“使用自定义模板”。 当选择“使用自定义模板”时,请从选择框中选择一个您需要的自定义参数模板。单击“查看参数”可以查看或修改所选参数模板的参数配置。如果没有提前创建该实例版本和实例类型的自定义参数模板,此时选择框为空,单击“查看参数模板列表”可以进入模板创建页面进行创建,创建方式请参考创建DCS实例自定义参数模板。 设置实例备份策略,根据需要选择是否开启“自动备份”。 只有当实例类型为主备、读写分离或者集群实例时显示该参数。关于实例备份的说明及备份策略的设置请参考备份与恢复说明。 当前暂不支持创建实例时配置“公网访问”,请在实例创建完成后前往详情页进行配置,具体请参考开启Redis 4.0/5.0/6.0公网访问并获取公网访问地址。 设置“标签”。 标签用于标识云资源,当您拥有相同类型的许多云资源时,可以使用标签按各种维度(例如用途、所有者或环境)对云资源进行分类。 如您的组织已经设定分布式缓存服务的相关标签策略,需要按照标签策略规则为缓存实例资源添加标签。如果标签不符合标签策略的规则,可能会导致缓存实例资源创建失败,请联系组织管理员了解标签策略详情。 如果您已经预定义了标签,在“标签键”和“标签值”中选择已经定义的标签键值对。另外,您可以单击右侧的“查看预定义标签”,系统会跳转到标签管理服务页面,查看已经预定义的标签,或者创建新的标签。 您也可以通过输入标签键和标签值,添加标签。标签的命名规格,请参考管理标签章节。 重命名实例高危命令。 当前支持的高危命令有command、keys、flushdb、flushall、hgetall、scan、hscan、sscan、和zscan,Proxy集群实例还支持dbsize和dbstats命令重命名,其他命令暂时不支持重命名。 设置实例维护时间窗。 设置DCS服务运维对实例进行维护的时间,在维护前,服务运维会提前和您沟通确认。 设置实例的“描述”。 设置实例购买时长。仅当Redis为包年/包月计费模式时,需要选择购买时长及是否需要自动续费。 设置实例购买数量。 实例信息配置完成后,单击“立即购买”,进入实例信息确认页面。 页面显示申请的分布式缓存服务的实例名称、缓存版本和实例规格等信息。 确认实例信息无误后,提交请求。 任务提交成功后,自动返回缓存管理页面,当新建实例的状态显示“运行中”时,实例创建成功。
  • 通过OBS桶离线迁移 通过OBS桶离线迁移,您需要先将源Redis的数据备份下载到本地,然后将备份文件上传到与DCS目标Redis同一账号相同区域下的OBS桶中,再创建备份导入迁移任务,从OBS桶中读取数据并将数据迁移到目标Redis中。 上传OBS桶的备份文件支持.aof、.rdb、.zip、.tar.gz四种格式,您可以直接上传.aof和.rdb文件,也可以将.aof和.rdb文件压缩成.zip或.tar.gz文件,然后将压缩后的文件上传到OBS桶。 如果源端实例是集群Redis,每个备份文件对应集群中的一个分片,需要下载所有的备份文件,然后逐个上传到OBS桶。在迁移时,需要把所有分片的备份文件选中。
  • 前提条件 源Redis实例已执行数据备份并备份成功。 如果是通过Redis实例离线迁移,无需下载备份文件到本地,备份数据请参考手动备份DCS实例数据。 如果是通过OBS桶离线迁移,需要下载备份文件到本地,请参考下载DCS实例备份文件。 已准备目标Redis实例。如果您还没有目标Redis实例,请先创建Redis,参考购买Redis实例。 目前Redis高版本支持兼容低版本,因此,同版本或低版本可以迁移到高版本Redis,目标端创建的实例版本不要低于源端Redis版本。 请确保目标Redis有足够的存储空间,迁移实例前建议清空目标Redis中的数据,清空实例数据的操作请参考清空Redis实例数据。如果没有清空实例数据,数据迁移后,目标Redis与源Redis实例重复的数据会被覆盖,源Redis没有、目标Redis有的数据会保留。
  • 通过Redis实例离线迁移 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择源Redis和目标Redis所在的区域。 单击左侧菜单栏的“数据迁移”。页面显示迁移任务列表页面。 单击右上角的“创建备份导入任务”,进入创建备份导入任务页面。 设置迁移任务名称和描述。 任务名称请以字母开头,长度不小于4位且不超过64位。任务名称只能包含字母、数字、中划线、下划线。 源Redis“数据来源”选择“Redis实例”。 图1 选择数据来源(Redis实例) 在“源Redis实例”中选择需要迁移的源端实例。 根据需要选择“源DB”,您可以指定源Redis备份文件某一个DB中的数据,例如输入5时,则只迁移DB5中的数据;无需指定DB时,请保持置空,即迁移全部DB。 选择“是否多DB Proxy集群”,只有当源Redis数据为DCS Proxy集群实例,且开启了多DB(Proxy实例multi-db参数值为yes)时选择。 在“备份记录”中选择需要迁移的备份文件。 “目标Redis实例”请选择前提条件中准备的目标Redis。 如果目标Redis是密码访问模式,请输入密码后,单击“测试连接”,检查密码是否正确。免密访问的实例,请直接单击“测试连接”。 根据需要选择“目标DB”,您可以指定迁移数据到目标Redis的某一个DB中,例如输入5时,则迁移到目标Redis的DB5;不填表示不指定,默认迁移到与源端相同的DB中。 当源Redis为多DB,目标端为单DB的DCS实例时(单DB的实例只有DB0),需要源Redis的所有数据都在DB0,或者指定仅迁移源Redis某一DB中的数据并将目标Redis的DB指定为0,否则会迁移失败。 DCS Redis支持的DB数请参见Redis实例是否支持多DB方式?。 单击“立即创建”。 确认迁移信息,然后单击“提交”,开始创建迁移任务。 返回迁移任务列表,观察对应的迁移任务的状态,任务状态显示“成功”时,迁移成功。
  • 实例类型变更须知 表1 DCS实例类型变更明细 实例版本 支持的实例变更类型 变更须知及影响 Redis 3.0 单机实例变更为主备实例 连接会有秒级中断,大约1分钟左右的只读。 主备实例变更为Proxy集群实例 如果Redis 3.0主备实例数据存储在多DB上,或数据存储在非DB0上,不支持变更为Proxy集群;数据必须是只存储在DB0上的主备实例才支持变更为Proxy集群。 连接会中断,5~30分钟只读。 Memcached 单机实例变更为主备实例 会有秒级业务中断、大约1分钟只读。 Redis 4.0/5.0/6.0 主备实例或读写分离实例变更为Proxy集群实例 变更为proxy集群时,需要评估proxy集群的多DB使用限制和命令使用限制对业务的影响。具体请参考proxy集群使用多DB限制,实例受限使用命令。 变更前实例的已用内存必须小于变更后最大内存的70%,否则将不允许变更。 如果变更前实例的已用内存超过总内存的90%,变更的过程中可能会导致部分key逐出。 变更完成后需要对实例重新创建告警规则。 如果原实例是主备实例,请确保应用中没有直接引用只读IP或只读域名。 请确保您的客户端应用具备重连机制和处理异常的能力,否则在变更规格后有可能需要重启客户端应用。 变更规格过程中会有秒级业务中断、大约1分钟只读,建议在业务低峰时进行变更。 Proxy集群实例变更为主备实例或读写分离实例 Redis 4.0/5.0/6.0 主备实例变更为读写分离实例 说明: 读写分离实例暂不支持直接变更为主备实例。 目前只支持主备实例变更为相同容量的读写分离实例,小于4G规格的主备实例不支持变更为读写分离实例。 如果变更前实例的已用内存超过总内存的90%,变更的过程中可能会导致部分key逐出。 变更完成后需要对实例重新创建告警规则。 请确保主备实例的应用中没有直接引用只读IP或只读域名。 请确保您的客户端应用具备重连机制和处理异常的能力,否则在变更规格后有可能需要重启客户端应用。 变更规格过程中会有秒级业务中断,建议在业务低峰时进行变更。 主备实例如果创建了ACL账号,不支持变更为读写分离实例。 Redis 6.0如果开启了SSL链路加密传输,不支持变更为读写分离实例。 除了上表中提到的实例外,其他实例类型目前不支持实例类型的变更,若您想实现跨实例类型的规格变更,可参考使用迁移任务在线迁移Redis实例进行操作。 实例类型变更后支持的命令,请参考对应的开源命令兼容性。
  • 实例规格变更须知 支持实例规格变更明细如下: 表2 实例规格变更明细 缓存类型 单机实例 主备实例 Cluster集群实例 Proxy集群实例 读写分离实例 Redis 3.0 支持扩容和缩容 支持扩容和缩容 - 仅支持扩容 - Redis 4.0 支持扩容和缩容 支持扩容、缩容和副本数变更 支持扩容、缩容和副本数变更 支持扩容和缩容 支持扩容、缩容和副本数变更 Redis 5.0 支持扩容和缩容 支持扩容、缩容和副本数变更 支持扩容、缩容和副本数变更 支持扩容和缩容 支持扩容、缩容和副本数变更 Redis 6.0 基础版 支持扩容和缩容 支持扩容、缩容和副本数变更 支持扩容、缩容和副本数变更 支持扩容和缩容 支持扩容、缩容和副本数变更 Redis 6.0 企业版 - 支持扩容和缩容 - - - Memcached 支持扩容和缩容 支持扩容和缩容 - - - Redis 3.0和Memcached实例在预留内存不足的情况下,内存用满可能会导致扩容失败,具体可参考预留内存。 副本数变更和容量变更不支持同时进行,需分开两次执行变更。 删除副本时,每次操作仅支持删除一个副本。 实例规格变更的影响: 表3 实例规格变更的影响 实例类型 规格变更类型 实例规格变更的影响 单机、主备和读写分离实例 扩容/缩容 Redis 4.0及以上版本基础版实例,扩容期间连接会有秒级中断,大约1分钟的只读,缩容期间连接不会中断。 Redis 3.0实例,规格变更期间连接会有秒级中断,5~30分钟只读。 Redis企业版实例,规格变更期间连接会有秒级中断,大约1分钟的只读。 如果是扩容,只扩大实例的内存,不会提升CPU处理能力。 单机实例不支持持久化,变更规格不能保证数据可靠性。在实例变更后,需要确认数据完整性以及是否需要再次填充数据。如果有重要数据,建议先把数据用迁移工具迁移到其他实例备份。 主备和读写分离实例缩容前的备份记录,缩容后不能使用。如有需要请提前下载备份文件,或缩容后重新备份。 Proxy和Cluster集群实例 扩容/缩容 水平扩容(分片数增加): 连接不中断,但会占用CPU,导致性能有20%以内的下降。 分片数增加时,会新增数据节点,数据自动负载均衡到新的数据节点,访问时延会增大。 水平缩容(分片数减少): 分片数减少时,会删除节点。Cluster集群实例缩容前,请确保应用中没有直接引用这些删除的节点,否则可能导致业务访问异常。 删除节点会导致连接闪断,请确保您的客户端应用具备重连机制和处理异常的能力,否则在变更规格后可能需要重启客户端应用。 垂直扩容(分片数不变,分片容量增加): 如果节点所在的虚拟机内存容量不足,会发生节点迁移,迁移时业务连接会有闪断和只读。 如果虚拟机内存容量充足,则直接扩大节点容量,对业务无影响。 说明: Redis 3.0版本集群实例不支持垂直扩缩容,Redis 4.0及以上版本集群实例如需扩容集群实例单分片容量,请联系技术支持添加垂直扩容特性白名单。 垂直缩容(分片数不变,分片容量减少):无影响。 实例缩容前,每个节点的已用内存要小于缩容后节点最大内存的70%,否则将不允许变更。 实例规格变更期间,可能会进行数据迁移,访问时延会增大。Cluster集群请确保客户端能正常处理MOVED和ASK命令,否则会导致请求失败。 实例规格变更期间,如果有大批量数据写入导致节点内存写满,将会导致变更失败。 在实例规格变更前,请先使用缓存分析中的大key分析,确保实例中没有大key存在,否则在规格改变后,节点间进行数据迁移的过程中,单个key过大(≥512MB)会触发Redis内核对于单key的迁移限制,造成数据迁移超时失败,进而导致规格变更失败,key越大失败的概率越高。 Cluster集群实例扩容或缩容时,请确保客户端开启集群拓扑自动刷新配置,否则在变更后需要重启客户端。Lettuce客户端开启集群拓扑自动刷新配置请参考Lettuce客户端连接Cluster集群实例中的示例。 实例规格变更前的备份记录,变更后不能使用。如有需要请提前下载备份文件,或变更后重新备份。 主备、读写分离和Cluster集群实例 副本数变更 Cluster集群实例增加或删除副本时,请确保客户端开启集群拓扑自动刷新配置,否则在变更后需要重启客户端。Lettuce客户端开启集群拓扑自动刷新配置请参考Lettuce客户端连接Cluster集群实例中的示例。 删除副本会导致连接中断,需确保您的客户端应用具备重连机制和处理异常的能力,否则在删除副本后需要重启客户端应用。增加副本不会连接中断。 当副本数已经为实例支持的最小副本数时,不支持删除副本。