标准架构

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

云数据库 Tair(兼容 Redis)标准架构指未启用集群模式的架构,所有数据存储在一个分片中,具有简单易用、服务高可靠、高性价比等特点,可满足多种场景下的需求。相比集群架构,标准架构不支持调整分片数量,提供高可用(双副本)与单节点(单副本)实例类型。

说明

标准架构可通过开启智能读写分离提升实例的读性能,并且您无需修改业务代码即可使用该功能,更多信息请参见读写分离功能

高可用

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

image

标准架构高可用类型的特点如下:

  • 可靠性

    • 服务可靠

      采用双机主备(master-replica)架构,主备节点位于不同物理机。当主节点出现故障,自研的HA系统会自动进行主备切换,保证业务平稳运行。

    • 数据可靠

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

  • 兼容性

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

  • 阿里云自研

    • 故障探测切换系统(HA)

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

    • 主备复制机制

      云数据库Tair(兼容 Redis)对主备全量同步中的Fork问题进行了优化,实现了无阻塞,在增量同步中采用增量日志格式进行复制传输。当主备复制中断后,对系统性能及稳定性影响极低,有效地避免了Redis原生主备复制的弊端。

      Redis原生复制弊端

      • Redis复制中断后,备节点会立即发起psync,psync尝试部分同步,如果不成功,就会全量同步RDB并发送至备节点。

      • 如果Redis需要进行全量同步,将导致主节点执行全量备份,并触发进程Fork,这可能会导致主节点出现毫秒级或秒级的卡顿现象。

      • Redis进程Fork导致Copy-On-Write,Copy-On-Write导致主节点进程内存消耗,极端情况下造成主节点内存溢出,程序异常退出。

      • Redis主节点生成备份文件导致服务器磁盘IO和CPU资源消耗。

      • 发送GB级别大小的备份文件,会导致服务器网络出口爆增,磁盘顺序IO吞吐量高,期间会影响业务正常请求响应时间,并产生其他连锁影响。

应用场景:

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

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

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

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

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

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

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

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

单节点

标准架构单节点类型采用单个数据库节点部署架构,没有可实时同步数据的备节点。由于该架构只有一个数据库节点,无热备节点用于HA。当数据库节点发生故障时,数据会丢失,系统会重新拉起一个新的Redis进程(没有数据)。当节点故障业务自动切换完成后,应用程序需要将数据重新预热。

警告
  • 单节点架构不能保障数据可用性和服务连续性,选用前请务必确认风险,不建议您在生产环境中使用该架构的实例。云数据库 Tair(兼容 Redis)服务等级协议不适用于单节点架构的实例。

  • 单节点架构不支持以下功能:自动或手动备份离线全量Key分析实例回收站。若您对数据有可靠性要求,推荐使用高可用架构。

image

特点及应用场景:

单节点架构具有明显的价格优势,性价比较高。适用于数据可靠性要求不高的纯缓存业务场景使用。