其他
Redis Cluster 原理说的头头是道,这些配置不懂就是纸上谈兵
The following article is from 码哥字节 Author 码哥
作者 | 码哥
来源 | 码哥字节
cluster-enabled
cluster-enabled yes
。cluster-config-file
cluster-config-file nodes-6379.conf
指定集群中的每个节点文件。cluster-node-timeout
cluster-node-timeout 15000
,单位是毫秒数。cluster-port
cluster-port 0
,我就会把端口绑定为客户端命令端口 + 10000(客户端端口默认 6379,所以绑定为 16379 作为集群总线端口)。每个 Redis Cluster 节点都需要开放两个端口:一个用于服务于客户端的 TCP 端口,比如 6379. 另一个称为集群总线端口,节点使用集群总线进行故障监测、配置更新、故障转移等。客户端不要与集群总线端口通信,另外请确保在防火墙打开这两个端口,否则 Redis 集群接地那将无法通信。
cluster-replica-validity-factor
如果有多个 slave 可以 failover,他们之间会通过交换信息选出拥有拥有最大复制 offset 的 slave 节点。 每个 slave 节点计算上次与 master 节点交互的时间,这个交互包含最后一次 ping
操作、master 节点传输过来的写指令、上次可 master 断开的时间等。如果上次交互的时间过去很久,那么这个节点就不会发起 failover。
(node-timeout * cluster-replica-validity-factor) + repl-ping-replica-period
,该 slave 就不会发生 failover。 秒,
cluster-replica-validity-factor=10,
repl-ping-slave-period=10`秒, 表示slave节点与master节点上次交互时间已经过去了310秒,那么slave节点就不会做failover。cluster-replica-validity-factor
则允许存储过旧数据的 slave 节点提升为 master,调小的话可能会导致没有 slave 节点可以升为 master 节点。cluster-replica-validity-factor 0
。cluster-migration-barrier
cluster-migration-barrier 1
,是一个迁移临界值。cluster-allow-replica-migration no
禁用自动迁移功能。cluster-allow-replica-migration
默认配置为 yes,表示允许自动迁移。cluster-require-full-coverage
yes
,表示为当 redis cluster 发现至少还有一个 哈希槽没有被分配时禁止查询操作。cluster-require-full-coverage yes
。cluster-replica-no-failover
no
,当配置成 yes
,在master 宕机时,slave 不会做故障转移升为 master。cluster-allow-reads-when-down
no
,表示当集群因主节点数量达不到最小值或者哈希槽没有完全分配而被标记为失效时,节点将停止所有客户端请求。yes
,则允许集群失效的情况下依然可从节点中读取数据,保证了高可用。cluster-allow-pubsubshard-when-down
yes
,表示当集群因主节点数量达不到最小值或者哈希槽没有完全分配而被标记为失效时,pub/sub 依然可以正常运行。cluster-link-sendbuf-limit
好啦,今天的内容分享就到这,感觉不错的同学记得分享点赞哦!
PS:工作日早 8:30,CSDN 知识库 持续分享程序员学习、面试相关干货,不见不散!