标准架构

更新时间:2025-01-23 08:03:14
重要

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

云数据库 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主节点生成备份文件导致服务器磁盘IOCPU资源消耗。

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

应用场景:

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

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

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

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

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

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

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

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

单节点

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

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

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

image

特点及应用场景:

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

常见问题

  • Q:原有业务为Redis哨兵模式,迁移上云应该选什么架构?

    A:推荐选择标准架构(高可用版),该架构采用主备(master-replica)模式。当主节点发生故障时,HA系统将自动执行主备切换,以确保业务可用性。

  • Q:若当前实例为8 GB、标准架构,如何在不升级内存容量的情况下升级实例性能?

    A:根据业务需求,分别推荐如下升级方案。

    • 若现有实例的连接数或实例带宽不足,表示该实例可能无法满足超高的读流量。您可以考虑开启读写分离功能(推荐),无需升级内存规格,即可快速提升实例读性能。

      该方案无需修改业务代码,即开即用,也支持随时关闭。开启后,实例能够自动识别读、写请求并进行对应转发,满足高并发读写的业务场景。

    • 若现有实例的CPU使用率总是过高,您可以考虑将实例升级为集群架构,通过增加数据分片解决单分片CPU使用率过高的问题。

      但该方案将修改实例架构,集群架构与标准架构的大部分命令是兼容的,但仍然存在部分不兼容的命令(更多信息请参见集群架构的命令限制)。建议您评估后再进行升级。

    以下为Redis开源版8 GB实例不同架构的性能对比:

    架构

    内存(GB)

    CPU(核)

    带宽(MB/s)

    最大连接数

    QPS参考值

    架构

    内存(GB)

    CPU(核)

    带宽(MB/s)

    最大连接数

    QPS参考值

    标准架构(主备节点)

    8

    2

    96

    20,000

    100,000

    标准架构(开启读写分离,1个主节点、1个只读节点)

    8

    4(2 * 2)

    192(96 * 2)

    40,000(20,000 * 2)

    200,000

    集群架构(2分片)

    8(4 GB * 2分片)

    4(2 * 2)

    192(96 * 2)

    40,000(20,000 * 2)

    200,000

  • 本页导读 (1)
  • 高可用
  • 单节点
  • 常见问题
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等