Redis的主从复制模式和哨兵模式可以解决高可用、高并发读的问题。但是依然有两个问题没有解决:海量数据存储问题、高并发写的问题。由于数据量过大,单个master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集的一部分,这就是Redis的集群,其作用是提供在多个Redis节点间共享数据的程序集,Redis集群可以支持多个master。
1.Redis分片集群架构介绍
使用分片集群可以解决上述的问题,Redis分片集群的架构如下图所示:
Redis集群能干嘛?总结以下四点:
- Redis集群支持多个master,每个master又可以挂载多个slave。具有读写分离、支持数据的高可用、支持海量数据的读写存储操作。
- 由于Cluster自带Sentinel的故障转移机制,内置了高可用的支持,无需再去使用哨兵功能。
- 客户端与Redis的节点连接,不再需要连接集群中所有的节点ÿ