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