云数据库 Tair(兼容 Redis)提供双副本集群版实例,可轻松突破Redis自身单线程瓶颈,满足大容量、高性能的业务需求。集群版支持代理和直连两种连接模式,您可以根据本章节的说明,选择适合业务需求的连接模式。
注意事项
云原生版集群架构不支持同时使用代理模式和直连模式。
代理模式
代理(proxy)模式,客户端的请求通过代理服务器转发到各数据分片,代理节点、数据分片和配置服务器均不提供单独的连接地址,降低了应用开发难度和代码复杂度。代理节点会自动对其实现路由转发、故障转移等。关于Proxy的详细介绍与特性说明,请参见Tair Proxy特性说明。
代理模式的服务架构图和组件说明如下。
表 1. 集群版代理模式组件说明
组件 | 说明 |
代理服务器(Proxy Server) | 负责将客户端的请求转发到各数据分片。集群版架构中由多个Proxy组成。 |
数据分片(Data Shards) | 每个数据分片均为双副本(一主一备分别部署在不同机器上)高可用架构。 |
高可用服务(HA) | 主节点(Master)发生故障后,系统会自动在30秒内切换至备节点(Replica),以保证服务高可用和数据高可靠。 |
各组件的数量和配置由Tair实例的规格决定。使用经典部署模式时不支持自定义修改,但您可以通过变更实例配置调整集群的大小,或者将实例调整为其他架构;使用云原生部署模式时支持以1分片为单位对分片数量进行自定义修改,支持区间为2~256,在调整时Proxy数量会自动同步增减,修改分片数量操作详见调整实例的分片数量。
直连模式
直连模式为类似连接原生Redis Cluster的方式连接集群。客户端首次连接时会通过DNS将直连地址解析为一个随机数据分片的虚拟IP(VIP)地址,之后即可通过Redis Cluster协议访问各数据分片。直连模式的服务架构和说明如下。
直连模式与代理模式的连接方式区别较大,相关注意事项和连接示例请参见使用直连模式连接Redis。
使用场景
数据量较大
相比标准版,集群版可以有效地扩展存储量,最大可达16 TB(64 GB * 256分片),能有效的满足业务扩展的需求。
请求负载较大
标准版无法支撑较大的请求负载,需要采用多分片的部署方式来突破Redis单线程的性能瓶颈,相关规格请参见集群版-双副本。
吞吐密集型应用
相比标准版,集群版的内网吞吐量可通过增加分片数量线性扩展,可以更好地支持热点数据读取、大吞吐类业务。
多KEY操作较少的应用
由于集群为分布式架构,在一次操作多个KEY时需要确保所有KEY均在同一slot中,因此会对多KEY操作带来一些限制。详情请参见集群架构与读写分离架构实例的命令限制。
常用帮助
需要掌握内存中数据的分布情况请参见离线全量Key分析。