一、redis cluster 简介

Redis集群为了解决什么问题而存在的?
解决线性可扩展性。
Redis集群诞生以前怎么解决这个问题?
客户端分片、代理协助分片(Twemproxy)、查询路由、预分片、一致性哈希、客户端代理/转发等。
Redis集群采用什么方式保证线性可扩展性、可用性、数据一致性?
Hash槽、查询路由、节点互联的混合模式。
Redis集群化面临的问题是什么?
Redis集群本身要解决的是可伸缩问题,同时数据一致、集群可用等一系列问题。
前者涉及到了节点的哈希槽的分配(含重分配),节点的增删,主从关系指定与变更(含自动迁移)这些具体的交互过程;
后者则是故障发现,故障转移,选举过程等详细的过程。
Redis集群实现的核心思想和思路是什么?
通过消息的交互(Gossip)实现去中心化(指的是集群自身的实现,不是指数据),通过Hash槽分配,实现集群线性可拓展。



二、redis cluster 集群搭建













三、 redis cluser 数据写、读测试


四、redis cluster 主从切换


五、redis cluster 扩容




六、redis cluster缩容




七 、FAQ




八、参考
redis-cluster高可用集群
https://www.bilibili.com/video/BV1E64y1U7K5?p=1
京东面试题(Redis):为啥RedisCluster设计成16384个槽?
https://zhuanlan.zhihu.com/p/99037321
为什么集群的最小节点数是3?还要奇数个节点?
https://zhuanlan.zhihu.com/p/408223396
https://www.zhihu.com/question/354518943
Spring boot integrates redis cluster (cluster mode)
https://javamana.com/2021/09/20210903181735338R.html
The SpringBoot project is connected to the Redis cluster
https://codingwithfun.com/p/the-springboot-project-is-connected-to-the-redis-cluster
Redis Cluster 理论知识
http://www.ttlsa.com/redis/redis-cluster-theoretical-knowledge
Redis集群选举原理分析
https://zhuanlan.zhihu.com/p/376139405
redis cluster 之master 选举过程
https://baijiahao.baidu.com/s?id=1662783818493463629&wfr=spider&for=pc
网友评论