云原生内存数据库Tair提供双副本集群架构实例,可轻松突破Redis自身单线程瓶颈,满足大容量、高性能的业务需求。集群架构支持代理和直连两种连接模式,您可以根据本章节的说明,选择适合业务需求的连接模式。
注意事项
云原生版集群架构不支持同时使用代理模式和直连模式。
代理模式
代理(proxy)模式,客户端的请求通过代理服务器转发到各数据分片,代理服务器、数据分片和配置服务器均不提供单独的连接地址,降低了应用开发难度和代码复杂度。代理节点会自动对其实现负载均衡、路由转发及故障转移等。关于Proxy的详细介绍与特性说明,请参见Tair Proxy特性说明。
代理模式的服务架构图和组件说明如下。
组件 | 说明 |
代理服务器(proxy servers) | 单节点配置,集群架构中会有多个Proxy组成。 |
数据分片(data shards) | 每个数据分片均为双副本(分别部署在不同机器上)高可用架构,主节点发生故障后,系统会自动进行主备切换保证服务高可用。 |
配置服务器(config server) | 采用双副本高可用架构,用于存储集群配置信息及分区策略。 |
各组件的数量和配置由Tair实例的规格决定,不支持自定义修改,但您可以通过变更实例配置调整集群的大小,或者将实例调整为其他架构。
直连模式
直连模式为类似连接原生Redis Cluster的方式连接集群。客户端首次连接时会通过DNS将直连地址解析为一个随机数据分片的虚拟IP(VIP)地址,之后即可通过Redis Cluster协议访问各数据分片。直连模式的服务架构和说明如下。
直连模式与代理模式的连接方式区别较大,相关注意事项和连接示例请参见使用直连地址访问Tair实例。
使用场景
数据量较大
相比Tair标准架构,集群架构可以有效地扩展存储量,最大可达4,096 GB,能有效的满足业务扩展的需求。
QPS压力较大
Tair标准架构无法支撑较大的QPS,需要采用多分片的部署方式来突破Tair单线程的性能瓶颈,相关规格请参见内存型(集群架构)。
吞吐密集型应用
相比Tair标准架构,集群架构的内网吞吐限制相对较低,可以更好地支持热点数据读取、大吞吐类业务。
对Redis协议不敏感的应用
集群架构引入了多个组件,在对Redis协议的支持上相比标准架构有一定限制。详情请参见集群架构与读写分离架构的命令限制。
常用帮助
集群架构中分片内存占用异常的排查方法请参见发现并处理大Key和热Key。
需要掌握内存中数据的分布情况请参见离线全量Key分析。