检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
不同类型的操作系统间进行数据传递和操作,需要注意什么? 建议将数据文件格式转换后再执行导入。
使用DCS改造传统应用系统数据库 方案概述 应用场景 随着互联网等数据库应用行业的逐渐发展,业务需求急速增加,数据量和并发访问量呈指数级增长,仅依附于传统关系型数据库难以支撑上层业务。
运维管理规范 原则 原则说明 备注 生产开启密码保护 生产系统中需要开启Redis密码保护机制。 - 现网操作安全 禁止开发人员私自连到线上Redis服务。
Sentinel原理 Redis Sentinel是一个分布式系统,Sentinel的设计基础在于多个Sentinel进程协同工作,这样做的好处有: 只有当多个哨兵一致同意某主节点不可用,才执行故障检测,这能够降低误报的可能性。
容灾和多活策略 DCS缓存实例都存储着大量关键数据,不论是作为数据库前端缓存,还是作为数据存储引擎,数据的可靠性与服务的连续可用性是DCS服务设计上为客户考虑的核心因素,下图展示了DCS在数据和服务方面的容灾架构设计演进。
单机实例特点 系统资源消耗低,支持高QPS 单机实例不涉及数据同步、数据持久化所需消耗的系统开销,因此能够支撑更高的并发。Memcached的单机实例QPS达到10万以上。
因此热Key的优化一定需要设计系统的熔断/降级机制,在发生击穿的场景下进行限流和服务降级,保护系统的可用性。 父主题: 使用指导
因此热Key的优化一定需要设计系统的熔断/降级机制,在发生击穿的场景下进行限流和服务降级,保护系统的可用性。 父主题: 大Key/热Key分析/过期Key扫描
使用DCS实现电商秒杀功能 本章节介绍在电商秒杀场景中,利用DCS Redis作为数据库的缓存,客户端通过访问Redis进行库存查询和下单操作,以满足电商秒杀系统高并发的需求。
这是由于Cluster集群采用的是分片设计理念,每个具体的Key只能分布到某一个具体的分片节点上,计算Key的分布过程有以下两个步骤: 针对Key值进行CRC16算法计算后对16384取模,得到对应的槽位(Slot)值。
- 0~7200 单位:秒 0 appendfsync 操作系统的fsync函数刷新缓冲区数据到磁盘,有些操作系统会真正刷新磁盘上的数据,其他一些操作系统只会尝试尽快完成。 单机实例不支持该参数。 no:不调用fsync,由操作系统决定何时刷新数据到磁盘,性能最高。
Redis 3.0、Memcached采用虚拟机部署,系统会占用小部分内存。其他版本的实例不会存在该问题。 父主题: Redis使用
DCS Cluster集群与Redis Cluster集群设计一致,数据可平滑迁移。 本文以Linux系统环境为例,介绍如何使用RedisShake工具将自建的Redis Cluster离线迁移到DCS Cluster集群。
DCS Cluster集群与Redis Cluster集群设计一致,数据可平滑迁移。 本文以Linux系统环境为例,介绍如何使用RedisShake工具将自建的Redis Cluster集群在线迁移到DCS Cluster集群。
执行重试可能导致某个操作在Redis中被重复执行,因此不是所有操作均适合设计重试机制。
保持以上状态运行一段时间后(等待较多的旧数据过期删除),把系统的缓存数据库正式切到华为云DCS。如涉及业务系统迁移云服务,需要在缓存数据库切换前完成业务系统的部署。 不推荐使用这种方式。
如果不自定义分片大小,使用系统默认分片,每个分片的大小=实例规格/分片数,例如,集群规格为48GB的实例,分片数为6,则每个集群分片的大小为48GB/6=8GB。
详情可以参考Redis 4.0/5.0/6.0基础版主备实例架构设计。 图1 连接信息 默认情况下,客户端通过主备实例的主节点读、写数据,备节点用于同步数据。
对于设置了过期时间的Key,当达到过期时间时,Redis不会立即对Key进行删除,由于Redis当前主线程仍然为单线程,故Redis设计了几种机制对已经过期的Key进行内存释放: 惰性删除:Redis的删除策略由主循环中的判断逻辑进行控制,所有Key读写命令执行之前都会调用函数对其进行检查
单机实例特点 系统资源消耗低,支持高QPS 单机实例不涉及数据同步、数据持久化所需消耗的系统开销,因此能够支撑更高的并发。Redis单机实例QPS达到10万以上。 进程监控,故障后自动恢复 DCS部署了业务高可用探测,单机实例故障后,30秒内会重启一个新的进程,恢复业务。