DCS Redis缓存类型都支持主备实例,本章节主要介绍Redis缓存类型的主备实例,有四个版本选择,Redis3.0、Redis4.0、Redis5.0和Redis6.0。
主备实例特点
DCS的主备实例在单机实例基础上,增强服务高可用以及数据高可靠性。
主备实例具有以下特性:
1.持久化,确保数据高可靠
实例默认包含一个主节点和一个备节点,都默认开启数据持久化。
Redis主备实例的备节点对用户不可见,不支持客户端直接读写数据。
2.数据同步
主备节点通过增量数据同步的方式保持缓存数据一致。
说明当网络发生异常或有节点故障时,主备实例会在故障恢复后进行一次全量同步,保持数据一致性。
3.故障后自动切换主节点,服务高可用
当主节点故障后,连接会有秒级中断、不可用,备节点在30秒内自动完成主备切换,切换完成后恢复正常访问,无需用户操作,业务平稳运行。
4.容灾策略
跨AZ部署(可用区):DCS支持将主备实例的主备副本部署在不同的AZ内,节点间电力与网络均物理隔离。您可以将应用程序也进行跨AZ部署,从而达到数据与应用全部高可用。
Redis 3.0实例架构设计
DCS的Redis主备实例架构,如下图所示。
主备实例示意图
示意图说明:
- VPC
虚拟私有云。实例的内部所有服务器节点,都运行在相同VPC中。
说明VPC内访问,客户端需要与主备实例处于相同VPC,并且配置安全组访问规则。
- 客户应用
运行在ECS上的客户应用程序,即Redis的客户端。
Redis实例兼容开源协议,可直接使用开源客户端进行连接,关于客户端连接示例,请参考连接实例。
- DCS缓存实例
DCS主备实例包含了Master和Slave两个节点。默认开启数据持久化功能,同时保持节点间数据同步。
DCS实时探测实例可用性,当主节点故障后,备节点升级为主节点,恢复业务。
Redis 3.0的访问端口默认为6379,不支持定义端口。
Redis 4.0/5.0/6.0主备实例架构设计
Redis 4.0/5.0主备实例的架构设计,如下图所示。
Redis 4.0/5.0/6.0主备实例示意图
图说明如下:
1.Redis 4.0/5.0/6.0主备实例使用哨兵模式(Sentinel)进行管理,Sentinel会一直监控主备节点是否正常运行,当主节点出现故障时,进行主备倒换。
Sentinel对用户不可见,仅在服务内部中使用。
2.备节点和主节点规格一致,用户创建主备实例时,默认包含一个主节点和一个备节点。
Redis 4.0/5.0/6.0实例支持定义端口,如果不自定义端口,则使用默认端口6379。图中以默认端口6379为例,如果已自定义端口,请根据实际情况替换。