集群版

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

注意事项

云原生版集群架构不支持同时使用代理模式和直连模式,但仅云原生版集群架构(代理模式)支持开启读写分离功能。

说明

经典版集群架构仅支持单副本、双副本。

代理模式(推荐)

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

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

多副本

图 1. 集群版代理模式服务架构

image

表 1. 集群版代理模式组件说明

组件

说明

代理服务器(Proxy Server)

负责将客户端的请求转发到各数据分片。集群版架构中由多个Proxy组成。

数据分片(Data Shards)

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

高可用服务(HA)

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

各组件的数量和配置由实例的规格决定。使用经典部署模式时不支持自定义修改,但您可以通过变更实例配置调整集群的大小,或者将实例调整为其他架构;使用云原生部署模式时支持以1分片为单位对分片数量进行自定义修改,支持区间为2~256,在调整时Proxy数量会自动同步增减,修改分片数量操作详见调整实例的分片数量

开启读写分离

图 2. 集群版(开启读写分离)服务架构示例

image

表 2. 集群版(开启读写分离)组件说明

组件

说明

代理服务器(Proxy Server)

当客户端与代理服务器(Proxy Server)建立连接后,Proxy会自动识别客户端发起的请求,将请求转发到各数据分片以及对应的读写节点上。例如将写请求转发给主节点,将读请求均衡地转发给主节点和只读节点。

数据分片(Data Shards)

每个数据分片由1个主节点(Master)、最多4个只读节点(Read Replicas)组成。

  • 主节点:承担写请求的处理,同时和只读节点共同承担读请求的处理。固定部署在主可用区。

  • 只读节点:承担读请求的处理,只读节点均从主节点同步数据(星型复制架构)。只读节点的数量范围为1 ~ 4,可以选择部署在备可用区,所有只读节点均具备容灾功能。

高可用服务(HA)

当主节点(或只读节点)异常时,实例将自动进行主备切换或重搭只读节点,并更新相应的路由信息,保证服务高可用和数据高可靠。

说明
  • 若实例为单可用区,则所有节点均在主可用区,实例仅提供主可用区的连接地址。

  • 若实例为双可用区,则实例将分别提供主、备可用区的连接地址,均支持读、写操作。写请求均会路由到主可用区的主节点中;每个可用区的读请求会路由到本可用区的主节点或只读节点中,实现就近访问。若发生极端情况,备可用区的所有只读节点都不可用,备可用区的读请求也会路由到主节点中,不会影响业务运行。

直连模式

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

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

  • 云原生版集群架构(直连模式)也支持多副本。

图 2. 集群版直连模式服务架构

image

使用场景

  • 数据量较大

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

  • 请求负载较大

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

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

    说明

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

  • 吞吐密集型应用

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

  • 多KEY操作较少的应用

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

  • 延迟敏感应用

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

相关文档

如需查询内存中数据的分布情况请参见离线全量Key分析