检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Cluster集群实例容量和性能未达到瓶颈,但某个分片容量或性能已过载是什么原因? 这是由于Cluster集群采用的是分片设计理念,每个具体的Key只能分布到某一个具体的分片节点上,计算Key的分布过程有以下两个步骤: 针对Key值进行CRC16算法计算后对16384取模,得到对应的槽位(Slot)值。
Value相关规范 设计合理的Value大小。 设计合理的Key中Value的大小,推荐小于10 KB。 过大的Value会引发分片不均、热点Key、实例流量或CPU使用率冲高等问题,还可能导致变更规格和迁移失败。应从设计源头上避免此类问题带来的影响。 设计合理的Key中元素的数量。
DCS缓存实例都存储着大量关键数据,不论是作为数据库前端缓存,还是作为数据存储引擎,数据的可靠性与服务的连续可用性是DCS服务设计上为客户考虑的核心因素,下图展示了DCS在数据和服务方面的容灾架构设计演进。 图1 DCS容灾架构演进 根据对数据与服务的不同可靠性要求,您可以选择将缓存实例部署在单可用区内(单机房),或者跨可用区(同城灾备)。
迁移实例数据 DCS数据迁移概述 迁移方案说明 DCS实例间迁移 自建Redis迁移至DCS 其他云厂商Redis迁移至DCS
其中,连接地址是连接主备实例的主节点,只读地址是连接主备实例的备节点。 详情可以参考Redis 4.0/5.0/6.0基础版主备实例架构设计。 图1 连接信息 默认情况下,客户端通过主备实例的主节点读、写数据,备节点用于同步数据。如需使用“只读地址”实现读写分离,需要在客户端增
DCS Redis 5.0支持的新特性说明 DCS的Redis 5.0版本继承了Redis 4.0版本的所有功能增强以及新的命令,同时还兼容开源Redis 5.0版本的新增特性。 Stream数据结构 Stream是Redis 5.0引入的一种新数据类型,它是一个全新的支持多播的可持久化消息队列。
访问。对于设置了过期时间的Key,当达到过期时间时,Redis不会立即对Key进行删除,由于Redis当前主线程仍然为单线程,故Redis设计了几种机制对已经过期的Key进行内存释放: 惰性删除:Redis的删除策略由主循环中的判断逻辑进行控制,所有Key读写命令执行之前都会调用
RedisShake是一款开源的Redis迁移工具,支持Cluster集群的在线迁移与离线迁移(备份文件导入)。DCS Cluster集群与Redis Cluster集群设计一致,数据可平滑迁移。 本文以Linux系统环境为例,介绍如何使用RedisShake工具将自建的Redis Cluster离线迁移到DCS
本章节介绍Jedis客户端的重试配置, 通过设计完备的自动重试机制可以大幅降低基础设施或运行环境故障带来的影响。 DCS数据安全 本文提供了使用DCS过程中的安全最佳实践,旨在为提高整体安全能力,提供可操作的规范性指导。 DCS使用规范 本章节介绍DCS Redis在业务使用、数据设计、命令使用、SDK使用和运维管理方面的使用建议。
使用客户端缓存/本地缓存。 该方案需要提前了解业务的热点Key有哪些,设计客户端/本地和远端Redis的两级缓存架构,热点数据优先从本地缓存获取,写入时同时更新,这样能够分担热点数据的大部分读压力。缺点是需要修改客户端架构和代码,改造成本较高。 设计熔断/降级机制。 热Key极易造成缓存击穿,高峰期
RedisShake是一款开源的Redis迁移工具,支持Cluster集群的在线迁移与离线迁移(备份文件导入)。DCS Cluster集群与Redis Cluster集群设计一致,数据可平滑迁移。 本文以Linux系统环境为例,介绍如何使用RedisShake工具将自建的Redis Cluster集群在线迁移到DCS
使用客户端缓存/本地缓存。 该方案需要提前了解业务的热点Key有哪些,设计客户端/本地和远端Redis的两级缓存架构,热点数据优先从本地缓存获取,写入时同时更新,这样能够分担热点数据的大部分读压力。缺点是需要修改客户端架构和代码,改造成本较高。 设计熔断/降级机制。 热Key极易造成缓存击穿,高峰期
缓存实例状态说明 表1 缓存实例状态说明 状态 说明 CREATING 申请缓存实例后,在缓存实例状态进入运行中之前的状态。 CREATEFAILED 缓存实例处于创建失败的状态。 RUNNING 缓存实例正常运行状态。 在这个状态的实例可以运行您的业务。 ERROR 缓存实例处于故障的状态。
不同的AZ内,节点间电力与网络均物理隔离。您可以将应用程序也进行跨AZ部署,从而达到数据与应用全部高可用。 Memcached主备实例架构设计 DCS的Memcached主备实例架构,如图1所示。 图1 Memcached主备实例示意图 示意图说明: VPC 虚拟私有云。实例的内
不到数据,可穿透至磁盘数据库中获取,同时,重启服务、缓存实例时,可从磁盘数据库中获取数据进行预热,降低后端服务在启动初期的压力。 实例架构设计 DCS的Memcached单机实例架构,如图1所示。 图1 Memcached单机实例示意图 示意图说明: VPC 虚拟私有云。实例的内
Cluster集群实例,是原生Cluster的集群版本。Redis Cluster集群实例的特点: 兼容Redis原生Cluster集群。 继承smart client的设计方案。 相比主备,数倍性能提升。 Redis Cluster集群实例支持从客户端实现读写分离,相关操作请参见Cluster集群实例读写分离。
、通知和客户端配置。详细介绍可参考Redis官网。 Sentinel原理 Redis Sentinel是一个分布式系统,Sentinel的设计基础在于多个Sentinel进程协同工作,这样做的好处有: 只有当多个哨兵一致同意某主节点不可用,才执行故障检测,这能够降低误报的可能性。
务。 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
恢复DCS实例数据 本节介绍如何在DCS管理控制台将实例已备份的记录恢复到本实例中。例如在实例数据误删除的场景,您可以通过该操作恢复实例数据。 如果需要将备份数据迁移到其他DCS实例中,请参考使用备份文件离线迁移DCS Redis实例。 约束与限制 Proxy集群支持开启或关闭多
无论是客户端还是服务端,都有可能受到基础设施或者运行环境的影响,遇到暂时性的故障(例如瞬时的网络抖动/磁盘抖动,服务暂时不可用或者调用超时等),从而导致Redis操作失败。通过设计完备的自动重试机制可以大幅降低此类故障的影响,保障操作最终能成功执行。 引发Redis操作失败的场景 场景 说明 故障触发了主备倒换 因R