检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用客户端缓存/本地缓存。 该方案需要提前了解业务的热点Key有哪些,设计客户端/本地和远端Redis的两级缓存架构,热点数据优先从本地缓存获取,写入时同时更新,这样能够分担热点数据的大部分读压力。缺点是需要修改客户端架构和代码,改造成本较高。 设计熔断/降级机制。 热Key极易造成缓存击穿,高峰期
DCS缓存实例都存储着大量关键数据,不论是作为数据库前端缓存,还是作为数据存储引擎,数据的可靠性与服务的连续可用性是DCS服务设计上为客户考虑的核心因素,下图展示了DCS在数据和服务方面的容灾架构设计演进。 图1 DCS容灾架构演进 根据对数据与服务的不同可靠性要求,您可以选择将缓存实例部署在单可用区内(单机房),或者跨可用区(同城灾备)。
DCS最佳实践汇总 本文汇总了基于分布式缓存服务DCS常见应用场景的操作实践,为每个实践提供详细的方案描述和操作指导,帮助用户轻松使用DCS。 表1 DCS最佳实践一览表 最佳实践 说明 使用DCS实现热点资源顺序访问 该实践介绍如何使用Redis对分布式应用加锁。通过加锁对热点资源进行顺序访问控
Cluster集群实例容量和性能未达到瓶颈,但某个分片容量或性能已过载是什么原因? 这是由于Cluster集群采用的是分片设计理念,每个具体的Key只能分布到某一个具体的分片节点上,计算Key的分布过程有以下两个步骤: 针对Key值进行CRC16算法计算后对16384取模,得到对应的槽位(Slot)值。
Value相关规范 设计合理的Value大小。 设计合理的Key中Value的大小,推荐小于10 KB。 过大的Value会引发分片不均、热点Key、实例流量或CPU使用率冲高等问题,还可能导致变更规格和迁移失败。应从设计源头上避免此类问题带来的影响。 设计合理的Key中元素的数量。
如果您的源端是华为云的MySQL数据库,Redis实例请选择与MySQL数据库实例相同的VPC。 已有MySQL数据库,并在其中创建一张表,作为源端数据库中的数据。 例如,在MySQL数据库中创建一张名为student_info的表格,表中共有4列,迁移后表中的id列的值将成为R
使用客户端缓存/本地缓存。 该方案需要提前了解业务的热点Key有哪些,设计客户端/本地和远端Redis的两级缓存架构,热点数据优先从本地缓存获取,写入时同时更新,这样能够分担热点数据的大部分读压力。缺点是需要修改客户端架构和代码,改造成本较高。 设计熔断/降级机制。 热Key极易造成缓存击穿,高峰期
其中,连接地址是连接主备实例的主节点,只读地址是连接主备实例的备节点。 详情可以参考Redis 4.0/5.0/6.0基础版主备实例架构设计。 图1 连接信息 默认情况下,客户端通过主备实例的主节点读、写数据,备节点用于同步数据。如需使用“只读地址”实现读写分离,需要在客户端增
DCS的Memcached与自建Memcached的区别是什么? DCS的Memcached与本地自建Memcached的区别如下表1所示。 表1 DCS Memcached与自建Memcached的区别 比较项 DCS Memcached 自建Memcached 部署 DCS的
、通知和客户端配置。详细介绍可参考Redis官网。 Sentinel原理 Redis Sentinel是一个分布式系统,Sentinel的设计基础在于多个Sentinel进程协同工作,这样做的好处有: 只有当多个哨兵一致同意某主节点不可用,才执行故障检测,这能够降低误报的可能性。
单击“立即扫描”,可立即对实例执行手动过期key扫描。 开启“自动扫描”,通过设置定时任务,到设定时间将会执行自动扫描。自动扫描的配置说明请参考表1和自动扫描性能说明和配置建议。 表1 自动扫描配置参数 参数名称 参数说明 首次扫描时间 设定的第一次扫描时间,须设定在当前时间之后。 取值格式:YYYY/MM/DD
状态码: 200 表3 响应Body参数 参数 参数类型 描述 instance_id String 实例ID。 count Integer 热key分析的次数。 records Array of RecordsResponse objects 热key分析记录列表。 表4 RecordsResponse
状态码: 200 表3 响应Body参数 参数 参数类型 描述 instance_id String 实例ID。 count Integer 大key分析的次数。 records Array of RecordsResponse objects 大key分析记录列表。 表4 RecordsResponse
务。 Redis的访问端口默认为6379。 Redis 4.0/5.0/6.0/7.0基础版主备实例架构设计 Redis 4.0/5.0/6.0/7.0基础版主备实例的架构设计,如下图所示。 图2 Redis 4.0/5.0/6.0/7.0基础版主备实例示意图 图说明如下: Redis
默认为“false”,表示模糊匹配实例名称查询。若参数值为“true”表示按照实例名称进行精确匹配查询。 tags Array of objects 否 根据实例标签键值对进行查询。{key}表示标签键,{value}表示标签值。 如果同时使用多个标签键值对进行查询,中间使用逗号分隔开,表示查询同时包含指定标签键值对的实例。
无论是客户端还是服务端,都有可能受到基础设施或者运行环境的影响,遇到暂时性的故障(例如瞬时的网络抖动/磁盘抖动,服务暂时不可用或者调用超时等),从而导致Redis操作失败。通过设计完备的自动重试机制可以大幅降低此类故障的影响,保障操作最终能成功执行。 引发Redis操作失败的场景 场景 说明 故障触发了主备倒换 因R
RedisShake是一款开源的Redis迁移工具,支持Cluster集群的在线迁移与离线迁移(备份文件导入)。DCS Cluster集群与Redis Cluster集群设计一致,数据可平滑迁移。 本文以Linux系统环境为例,介绍如何使用RedisShake工具将自建的Redis Cluster离线迁移到DCS
-type sync -conf redis-shake.conf 执行日志中出现如下信息,代表全量数据同步完成,进入增量同步阶段: sync rdb done. 执行日志出现如下信息时,代表增量同步无新增内容,可手动停止同步(Ctrl + C): sync: +forwardCommands=0
Cluster版Redis集群兼容开源Redis的Cluster,基于smart client和无中心的设计方案,对服务器进行分片。 Cluster版Redis集群每种实例规格对应的分片数,如表1所示。 在创建DCS Cluster集群实例时,可以自定义分片大小。如果不自定义分片大小,使用
在“缓存管理”页面单击“导出”,默认导出全部实例列表。如需导出部分实例列表,先勾选需要导出的实例,再单击“导出”。 页面跳转至“任务中心”,当“导出缓存实例列表”任务执行成功后,单击任务右侧的“下载”即可下载缓存实例列表。 图1 导出缓存实例列表 父主题: 管理实例