1. Redis Cluster简介
1.1 什么是集群模式?
集群是指:
- 多个主从(sharding-分片)模式的组合;
- 更大的容量,更好的性能;
- 更高的可用性;
常见的集群管理模式:
- 中心化
- 去中心化
1.2 官方文档
官方原理: https://redis.io/topics/cluster-spec
官方使用: https://redis.io/topics/cluster-tutorial
1.3 Redis Cluster 特点
- 去中心化,Gossip提供通信基础集群模式
- 客户端和后端直连交互
- 集群自动分片路由
- 集群自动故障恢复
- 集群支持弹性伸缩
1.4 Redis Cluster 优缺点
2. Redis Cluster 实现机制
2.1 Redis Cluster 相关配置
- cluster-enabled yes
开启Redis Cluster模式- cluster-config-file nodes-6379.conf
cluster node节点元信息配置文件,路径是dir- cluster-node-timeout 15000
多少毫秒连接不上后,判断该node状态为不可用- cluster-replica-validity-factor 10
当slave和master失联时间超过(node-timeout * replica-validity-factor) + repl-ping-replica-period + node-timeout时间时,就不会自动failover,因为此时slave上的数据可能会比较旧了。这种情况一般发生在主从出现分区的时候- cluster-migration-barrier 1
当集群中出现了只有主一个副本的分片时,其他主从分片如果有大于cluster-migration-barrier分片数时,可以分配出一个从副本给孤立的主。提升整体集群的高可用- cluster-require-full-coverage yes
控制集群高可用,设置为yes,则允许在分片不可用或者集群路由未完全分配的情况下,其他的分片仍然提供服务- cluster-replica-no-failover no
控制是否自动failover,在主挂掉的情况下
2.2 Redis Cluster集群路由
-
分片Sharding:
16384个Slots
(不多不少,这里面其实是和gossip协议的通信成本和集群状态收敛有关) -
集群路由过程
2.3 Redis Cluster节点探活
2.4 故障恢复
-
自动failover
-
手动failover
-
Force failover
-
Takeover failover
3. 更多内容,可以查看
如果觉得有收获,欢迎点赞和评论,更多知识,请点击关注查看我的主页信息哦~
网友评论