全部产品
Search
文档中心

云数据库 Tair(兼容 Redis®):集群架构

更新时间:Dec 31, 2024

云数据库 Tair(兼容 Redis)支持多副本集群架构实例,同时也支持集群架构开启读写分离功能。可轻松突破Redis自身单线程瓶颈,满足大容量、高性能的业务需求。集群架构支持代理和直连两种连接模式,您可以根据本章节的说明,选择适合业务需求的连接模式。

代理模式(推荐)

代理(Proxy)模式能够大大简化集群架构实例的使用方式,其连接方式与标准架构(主备)相同。代理服务器会自动实现路由转发,将客户端的请求转发到各数据分片,同时代理节点还提供了缓存热点Key、故障转移等高级特性,更多信息请参见Tair Proxy特性说明

代理模式的服务架构图和组件说明如下。

多副本

多副本集群架构代理模式服务

image

集群架构代理模式组件说明

组件

说明

代理服务器(Proxy Server)

负责将客户端的请求转发到各数据分片。集群架构中存在多个Proxy节点提供服务,并互相提供灾备支持。

数据分片(Data Shards)

每个数据分片均为一主多备(分别部署在不同机器上)的高可用架构。备节点的数量范围为1 ~ 4,可以选择部署在备可用区。多个备节点可以提高容灾能力,减少数据丢失的可能性。

高可用服务(HA)

主节点(Master)发生故障后,系统会自动在30秒内切换至备节点(Replica),以保证服务高可用和数据高可靠。如果实例为双可用区部署,当主可用区存在备节点时,主备切换会优先选择主可用区的备节点进行切换,避免业务跨可用区访问。

开启读写分离

云原生版集群架构(代理模式)还支持开启读写分离功能,当读请求流量非常大,超过主节点性能上限时,您可以开启集群架构的读写分类功能。更多信息请参见集群架构开启读写分离

直连模式

直连模式为类似连接原生Redis Cluster的方式连接集群。客户端首次连接时会通过DNS将直连地址解析为一个随机数据分片的虚拟IP(VIP)地址,之后即可通过Redis Cluster协议访问各数据分片。集群架构直连模式同样支持多副本,但不支持开启读写分离,直连模式的服务架构和说明如下。

集群架构直连模式服务架构

image
说明

直连模式与代理模式的连接方式区别较大,相关注意事项和连接示例请参见使用直连模式连接实例

使用场景

  • 数据量较大

    相比标准架构,集群架构可以有效地扩展存储量,最大可达16 TB(64 GB * 256分片),能有效地满足业务扩展的需求。

  • 请求负载较大

    标准架构无法支撑较大的请求负载,需要采用多分片的部署方式来突破单分片的性能瓶颈。

    当读请求流量非常大,超过主节点性能上限时,您可以开启集群架构的读写分类功能。

    说明

    由于仅云原生版集群架构(代理模式)实例支持开启读写分离,您可以通过新建实例、使用DTS同步数据的方式将其他版本的实例迁移至集群版(开启读写分离)实例。

  • 吞吐密集型应用

    相比标准架构,集群架构的吞吐量可通过增加分片数量线性扩展,可以更好地支持热点数据读取、大吞吐类业务。

  • 多KEY操作较少的应用

    由于集群为分布式架构,在一次操作多个KEY时需要确保所有KEY均在同一slot中,因此会对多KEY操作带来一些限制。详情请参见集群架构与读写分离实例的命令限制

  • 延迟敏感应用

    双可用区实例可以在主可用区增加备节点,例如主可用区1个主节点、1个备节点,备可用区1个备节点。既提高了容灾的可靠性,同时也能避免由主备切换后应用跨可用区访问带来延迟升高的问题。

注意事项

  • 云原生版集群架构不支持同时使用代理模式和直连模式,建议选择代理模式。

  • 经典版集群架构仅支持双副本,不支持开启读写分离。

集群变配操作指南

  • 添加副本节点数:在实例详情页的节点管理页面中,单击修改,可以增减节点数。

  • 添加只读节点:在实例详情页的节点管理页面中,需要先开启读写分离开关,再单击修改,可以增加只读节点数。

  • 添加分片数:在实例详情页的右上角,选择分片调整 > 增加分片数量

  • 变更分片规格:在实例详情页的右上角,选择规格调整 > 规格升降配