云数据库Redis作为高性能的Key-Value数据库,在业务场景中往往承载着大量的重要数据,为保障数据安全性,云数据库Redis提供了多种灾备方案供您选择。
云数据库Redis容灾架构演进
当云数据库Redis实例因不可预料的原因(例如设备故障、机房断电等)发生故障,容灾机制可用于保障数据的一致性和业务可用性。云数据库Redis提供多种灾备方案供您选择,可满足不同的业务场景。
灾备方案 | 灾备级别 | 说明 |
---|---|---|
单可用区高可用方案 | ★★★☆☆ | 主备节点部署在同一可用区中的不同机器上,当任一节点发生故障时,由高可用HA(High Availability)系统自动执行故障切换,避免单点故障引起的服务中断。 |
同城容灾方案 | ★★★★☆ | 主备节点分别部署在同一地域下两个不同的可用区,当任一可用区因电力、网络等不可抗因素失去通信时,高可用HA系统将执行故障切换,确保整个实例的持续可用。 |
跨地域容灾方案 | ★★★★★ | 由多个子实例构成全球分布式实例,所有子实例通过同步通道保持实时数据同步,由通道管理器负责子实例的健康状态监测、主备切换等等异常事件的处理,适用于异地灾备、异地多活、应用就近访问、分摊负载等场景。 |
单可用区高可用方案
Redis全架构(不含单副本版)均支持单机房高可用架构。由高可用HA(High Availability)系统监控主备节点的健康状态并自动执行故障切换,避免单点故障引起的服务中断。
部署架构 | 说明 |
---|---|
标准架构(双副本) |
标准架构(双副本)实例采用双机主从(Master-Replica)架构,高可用HA模块侦测到主节点故障时,会自动进行主从切换,将Replica提升为Master,而原来的Master恢复连接后会成为新的Replica。 |
集群架构(双副本) |
集群架构(双副本)实例中的数据分片用于承载数据,每个数据分片均为双副本(分别部署在不同机器上)高可用架构,主节点发生故障后,系统会自动进行主备切换保证服务高可用。关于各组件的详细介绍,请参见集群架构。 |
读写分离架构 |
关于各组件的详细介绍,请参见读写分离架构。 |
同城容灾方案
Redis标准版和集群版提供跨双机房的同城容灾架构。如果业务为单一地域部署,且对容灾要求较高,可在创建云数据库Redis实例时,选择支持同城容灾的可用区(即多可用区)。操作方法,请参见创建实例。
完成创建后,备机房将创建与主机房相同规格的Replica实例,主备机房的实例数据通过专门的复制通道同步。
当主机房出现电力或网络问题时,Replica实例将升级为Master实例,系统调用Config Server接口为Proxy更新路由信息。同时,云数据库Redis优化了Redis的同步机制,在同步位点上借鉴MySQL的GTID,实现了全局Opid,查找Opid的操作通过后台线程无锁进行,发送AOF binlog是异步同步的过程(可限流),保障了Redis服务的性能。
跨地域容灾方案
随着业务的快速发展,在业务分布较广时,如果还采用跨地域远距离访问的架构,将导致访问的延迟大,影响用户体验。借助阿里云的Redis全球分布式缓存功能,可帮助您解决业务因跨地域访问导致延迟大的问题,分布式缓存功能具有如下优势:
- 可直接创建或指定需要同步的子实例,无需通过业务自身的冗余设计来实现,极大降低业务设计的复杂度,让您专注于上层业务的开发。
- 可提供跨域复制(Geo-replication)能力,快速实现数据异地灾备和多活。
该功能可应用于跨地域数据同步场景及多媒体、游戏、电商等行业的全球化业务部署等场景。更多介绍,请参见Redis全球分布式缓存简介。