标准架构提供高可用与单副本实例类型,满足不同场景下的需求。高可用采用主从架构,提供高性能的缓存服务,且支持数据高可靠。单副本采用单节点架构,适用于数据可靠性要求不高的纯缓存业务场景,性价比高。

高可用

简介

标准架构高可用类型采用主从(master-replica)架构搭建。主节点提供日常服务访问,从节点提供HA高可用,当主节点发生故障,系统会自动在30秒内切换至从节点,保证业务平稳运行。

Redis标准版-双副本实例架构

特点

  • 可靠性
    • 服务可靠

      采用双机主从(master-replica)架构,主从节点位于不同物理机。主节点对外提供访问,用户可通过Redis命令行和通用客户端进行数据的增删改查操作。当主节点出现故障,自研的HA系统会自动进行主从切换,保证业务平稳运行。

    • 数据可靠

      默认开启数据持久化功能,数据全部落盘。支持数据备份功能,用户可以针对备份集回滚实例或者克隆实例,有效地解决数据误操作等问题。同时,在支持容灾的可用区(例如杭州可用区H+I)创建的实例,还具备同城容灾的能力。

  • 兼容性

    标准架构完全兼容Redis协议,自建的Redis数据库可以平滑迁移至Tair标准架构。阿里云还提供数据传输工具(DTS)支持用户进行增量迁移,保证业务平稳过渡。

  • 阿里云自研
    • 故障探测切换系统(HA)

      阿里云Tair服务封装HA切换系统,实时探测主节点的异常情况,可以有效解决磁盘IO故障,CPU故障等问题导致的服务异常,及时进行主从切换,从而保证服务高可用。

    • 主从复制机制

      阿里云针对Tair主从复制机制进行了定制修改,采用增量日志格式进行复制传输。当主从复制中断后,对系统性能及稳定性影响极低,有效地避免了Redis原生复制的弊端。

      Redis原生复制弊端简要如下:

      • Redis复制中断后,从节点会立即发起psync,psync尝试部分同步,如果不成功,就会全量同步RDB并发送至从节点。
      • 如果Redis全量同步,会导致主节点执行全量备份,进程 Fork,可造成主节点达到毫秒或秒级的卡顿。
      • Redis进程Fork导致Copy-On-Write,Copy-On-Write导致主节点进程内存消耗,极端情况下造成主节点内存溢出,程序异常退出。
      • Redis主节点生成备份文件导致服务器磁盘IO和CPU资源消耗。
      • 发送GB级别大小的备份文件,会导致服务器网络出口爆增,磁盘顺序IO吞吐量高,期间会影响业务正常请求响应时间,并产生其他连锁影响。

使用场景

  • 对Redis协议兼容性要求较高的业务

    标准架构完全兼容Redis协议,业务可以平滑迁移。

  • Tair作为持久化数据存储使用的业务

    标准架构提供持久化机制及备份恢复机制,极大地保证数据可靠性。

  • 单个Tair性能压力可控的业务

    由于Redis原生采用单线程机制,性能在10万QPS以下的业务建议使用。如果需要更高的性能要求,请选用集群架构。

  • Tair命令相对简单,排序、计算类命令较少的业务

    由于Tair的单线程机制,CPU会成为主要瓶颈。如排序、计算类较多的业务建议选用集群架构配置。

单副本

简介

标准架构单副本类型采用单个数据库节点部署架构,没有可实时同步数据的从节点,适用于数据可靠性要求不高的纯缓存业务场景使用。单副本架构具有明显的价格优势,性价比较高。

警告
  • 单副本架构不能保障数据可用性和服务连续性,选用前请务必确认风险,不建议您在生产环境中使用该架构的实例。
  • 由于该架构只有一个数据库节点,无热从节点用于HA,且不提供数据持久化和备份恢复机制。当数据库节点发生故障时,数据会丢失,系统会重新拉起一个Tair进程(没有数据),当节点故障业务自动切换完成后,应用程序需要将数据重新预热。
  • 单副本架构不支持以下功能:自动或手动备份离线全量Key分析实例回收站。若您对数据有可靠性要求,推荐使用高可用架构
Redis标准版-单副本架构图

使用场景

  • 纯缓存类业务场景

    单副本架构不能提供数据可靠性,如果发生节点故障,您需要重新对业务进行预热,因此,在对数据可靠性要求较高的敏感性业务中,建议选用双副本架构。

  • 对Redis协议兼容性要求较高的业务

    标准版完全兼容Redis协议,业务可以平滑迁移。

  • 单个Redis性能压力可控

    由于Redis原生采用单线程机制,为单核CPU,性能在8万QPS的业务建议使用。如果需要更高的性能要求,请选用集群版配置。

  • Redis命令相对简单,排序、计算类命令较少

    由于Redis的单线程机制,CPU为主要瓶颈。如排序、计算类较多的业务建议选用集群版配置。