分布式缓存Redis集群单机实例采用代理(proxy)集群模式,数据分片为单节点架构,可突破Redis自身单线程瓶颈,满足大容量或高性能的业务场景需求,相比于集群主备实例性价比更高。
注意
由于Redis集群单机的数据分片均为单节点架构,不具备高可用性与服务连续性,不建议您在生产环境中使用,若使用请务必确认风险。
集群单机实例可升级为集群主备实例。
当某个数据分片的节点发生故障时,系统会重新拉起一个Redis进程以保证服务高可用,根据默认自动持久化文件来恢复用户数据,达到业务连续性。
架构示意图
说明负载均衡器 :采用主备高可用方式,用于接收客户端请求,Redis集群实例提供访问的IP地址和域名,即为负载均衡器地址。
Proxy:Redis集群代理服务器,可根据各个Redis节点的负载情况,将客户端请求均匀地分配给可用的节点,实现负载均衡,同时监测Redis节点的健康状态,在某个节点出现故障时自动将请求转发到其他可用的节点上,实现故障转移,降低单点故障的影响。
Redis数据分片:每个数据分片均为单节点架构,不具备数据高可用。当某个数据分片的节点发生故障时,系统会重新拉起一个Redis进程以保证服务高可用。若没有进行数据备份,则故障节点的数据会丢失。
适用场景
- 纯缓存类场景
可将频繁访问的热点数据存储在Redis集群内存中,以加快数据读取速度。但由于每个数据分片均为单节点的部署架构,当节点故障业务自动切换完成后,数据将会丢失,不具备数据可靠性。若对数据可靠性有较高要求,建议采用集群版主备。 - 吞吐密集型应用场景
针对吞度密集型的场景,Redis集群通过分布式架构、水平扩展、并行处理等特性,能够满足吞吐密集型应用场景对高性能和高并发的需求。 - QPS压力较大的场景
Redis集群版采用多节点部署,突破Redis单线程的性能瓶颈,可较好支撑QPS较大的场景。 - 对Redis协议不敏感的应用场景
由于集群版架构引入了多个组件,相比标准版实例,对Redis协议的支持上有一定限制,因此不适用于对Redis协议兼容性要求较高的场景。