更新时间:2025-11-14 GMT+08:00

Redis主备实例

本章节主要介绍Redis缓存类型的主备实例。

Redis 4.0及以上版本不支持升级实例大版本,例如,不支持Redis 4.0主备升级为Redis 5.0主备实例。如果需要使用高版本Redis主备实例,建议重新创建高版本Redis主备实例,然后将原有Redis实例的数据迁移到高版本实例上。

主备实例特点

DCS的主备实例在单机实例基础上,增强服务高可用以及数据高可靠性。

主备实例具有以下特性:

  1. 持久化,确保数据高可靠

    实例默认包含一个主节点和一个备节点,都默认开启数据持久化。

    Redis主备实例的备节点对用户不可见,不支持客户端直接读写数据。

  2. 数据同步

    主备节点通过增量数据同步的方式保持缓存数据一致。

    当网络发生异常或有节点故障时,主备实例会在故障恢复后进行一次全量同步,保持数据一致性。

  3. 故障后自动切换主节点,服务高可用

    当主节点故障后,连接会有秒级中断、不可用,备节点在15秒到30秒内自动完成主备切换,切换完成后恢复正常访问,无需用户操作,业务平稳运行。

    • 故障切换期间,会有连接中断和不可用等情况,需要业务侧客户端具备重连/重试机制。
    • 主备切换完成后,原主节点(已切换为从节点)因故障不会立刻恢复,业务继续访问原主节点会失败,可通过配置Redis SDK解决此类情况,具体请参见多语言连接
  4. 容灾策略

    跨AZ部署(可用区):DCS支持将主备、集群实例的主备副本部署在不同的AZ内,节点间电力与网络均物理隔离。您可以将应用程序也进行跨AZ部署,从而达到数据与应用全部高可用。

Redis 4.0/5.0/6.0/7.0主备实例架构设计

Redis 4.0/5.0/6.0/7.0主备实例的架构设计,如下图所示。

图1 Redis 4.0/5.0/6.0/7.0主备实例示意图

图说明如下:

  1. Redis 4.0及以上版本主备实例使用哨兵模式(Sentinel)进行管理,Sentinel会一直监控主备节点是否正常运行,当主节点出现故障时,进行主备倒换。

    Sentinel对用户不可见,仅在服务内部中使用。Sentinel的详细介绍可参考什么是哨兵

  2. 备节点和主节点规格一致,用户创建主备实例时,默认包含一个主节点和一个备节点。
  3. Redis 4.0及以上版本实例支持定义端口,如果不自定义端口,则使用默认端口6379。图中以默认端口6379为例,如果已自定义端口,请根据实际情况替换。