DCS分布式缓存服务实例类型介绍
华为云DCS分布式缓存服务,作为一种支持Key-Value等多种数据结构的存储系统,可用于缓存、事件发布或订阅、高速队列等典型应用场景。那么DCS服务提供哪些实例类型呢?
DCS实例类型
1 Redis单机实例
单机:适用于应用对可靠性要求不高、仅需要缓存临时数据的业务场景。单机实例支持读写高并发,但不做持久化,实例重启后原有缓存数据不会加载。
特点
- 系统资源消耗低,支持高QPS
- 进程监控,故障后自动恢复(30秒内会重启一个新的进程)
- 即开即用,数据不做持久化
- 低成本,适用于开发测试
单机实例示意图
注:VPC内访问,客户端需要与单机实例处于相同VPC,并且配置安全组访问规则
DCS Redis支持的单机实例有:Redis 3.0(已下线)、Redis 4.0和Redis 5.0
2 Redis主备实例
主备:包含一个主节点,一个或多个备节点,主备节点的数据通过实时复制保持一致,当主节点故障后,备节点自动升级为主节点。同时用户可通过读写分离技术,在主节点上写,从备节点读,从而提升缓存的整体读写性能。
DCS的主备实例在单机实例基础上,增强服务高可用以及数据高可靠性。
特点
- 持久化,确保数据高可靠(主备节点都默认开启数据持久化)
- 数据同步(通过增量数据同步的方式)
- 故障后自动切换主节点,服务高可用(备节点在30秒内自动完成主备切换)
- 多种容灾策略(支持将主备实例部署在不同的AZ内)
- Redis 4.0和Redis 5.0主备实例支持客户端读写分离(分别提供可读写的连接地址(主节点)和只读地址(备节点))
Redis 3.0主备实例架构设计示意图(已下线)
注:VPC内访问,客户端需要与主备实例处于相同VPC,并且配置安全组访问规则
Redis 4.0/5.0/6.0基础版主备实例架构设计示意图
注:Redis 4.0/5.0/6.0基础版主备实例使用哨兵模式(Sentinel)进行管理,Sentinel会一直监控主备节点是否正常运行,当主节点出现故障时,进行主备倒换。Sentinel对用户不可见。
Redis 6.0企业版主备实例架构设计示意图
注:VPC内访问,客户端需要与Redis 6.0企业版主备实例处于相同VPC,并且配置安全组访问规则
DCS Redis支持的主备实例有:Redis 3.0(已下线)、Redis 4.0、Redis 5.0和Redis 6.0。且不支持Redis 主备升级,比如从4.0升级为 5.0主备实例。
3 Redis Proxy集群实例
Proxy集群:在Cluster集群的基础上,增加挂载Proxy节点和ELB节点,通过ELB节点实现负载均衡,将不同请求分发到Proxy节点,实现客户端高并发请求。每个Cluster集群分片是一个双副本的主备实例,当主节点故障后,同一分片中的备节点会升级为主节点来继续提供服务。
Redis 3.0/4.0/5.0 Proxy集群实例不支持读写分离。
Redis 3.0 Proxy集群因为已下线,不再介绍。
Redis 4.0/5.0 Proxy集群特点
- 基于LVS+Proxy的高可用集群版本
- 在创建实例时,支持自定义分片大小(每个分片内存=实例规格/分片数)
- ELB 弹性负载均衡服务器,采用集群高可用方式,支持多可用区部署
Redis 4.0/5.0 Proxy集群实例示意图
注:Redis 4.0/5.0 Proxy集群实例,当前仅部分区域支持,请以控制台实际上线区域为准。
DCS Redis支持的Proxy集群实例有:Redis 3.0(已下线)、Redis 4.0、Redis 5.0。
4 Redis Cluster集群实例
Cluster集群:通过分片化分区来增加缓存的容量和并发连接数,每个分片是一个主节点和0到多个备节点,分片本身对外不可见。分片中主节点故障后,同一分片中备节点会升级为主节点来继续提供服务。用户可通过读写分离技术,在主节点上写,从备节点读,从而提升缓存的整体读写能力。
Redis 4.0/5.0 Cluster集群实例支持从客户端实现读写分离。
特点
- Cluster版Redis集群兼容开源Redis的Cluster,基于smart client和无中心的设计方案,对服务器进行分片
Cluster集群无中心架构图
Redis Cluster的任意节点都可以接收请求,但节点会将请求发送到正确的节点上执行,同时,每一个节点也是主从结构,默认包含一个主节点和一个从节点,由Redis Cluster根据选举算法决定节点主从属性。
Cluster集群数据预分片
Redis Cluster会预先分配16384个slot,每个Redis的server存储所有slot与redis server的映射关系。key存储在哪个slot中,由Crc16(key) mod 16384的值决定。
DCS Redis支持的Cluster集群实例有:Redis 4.0、Redis 5.0。
5 读写分离实例
读写分离:在主备实例的基础上,增加挂载Proxy节点和ELB节点,通过ELB节点实现负载均衡,将不同请求分发到Proxy节点,Proxy节点识别用户读写请求,将请求发送到主节点或备节点,从而实现读写分离。
读写分离主要适用于读高并发、写请求较少的业务场景,解决高并发的性能问题,节约运维成本。
特点
- 服务端读写分离,默认为从服务端侧实现的读写分离
- 通过Proxy节点识别用户读写请求,如果是写请求,则转发给主节点,如果是读请求,则转发给备节点,不需要用户在客户端做任何配置
读写分离实例示意图
读写分离实例,仅在部分Region支持,具体请以控制台显示为准。
Sentinel集群用来监控主备节点状态,当主节点出现故障或异常时,进行主备倒换,保证服务不中断。
读写分离实例,后端是一个主备实例,包含了主和备两个节点。默认开启数据持久化功能,同时保持节点间数据同步。
DCS Redis支持的读写分离实例有:Redis 4.0、Redis 5.0。
6 Memcached单机实例 和 Memcached主备实例(已停售)
单机:适用于应用对可靠性要求不高、仅需要缓存临时数据的业务场景。单机实例支持读写高并发,但不做持久化,实例重启后原有缓存数据不会加载。
主备:包含一个主节点和一个备节点,主备节点的数据通过实时复制保持一致,备节点对用户不可见且不能直接读写数据,当主节点故障后,备节点自动升级为主节点。
DCS Memcached已停售,建议使用Redis实例。
DCS的Memcached单机实例示意图
DCS的Memcached主备实例示意图
参考链接
- 点赞
- 收藏
- 关注作者
评论(0)