redis故障转移及一些开发运维常见问题

348 阅读1分钟

1.故障发现,通过ping/pong消失实现故障发现:不需要sentinel,故障发现又分为主观下线和客观下线。

2.故障恢复:

2.1 资格检查

1.每个从节点检查与故障主节点的断线时间
2.超过cluster-node-timeout* cluster-slave-validity-fator取消资格
3.cluster-slave-validity-fator默认是10

2.2 准备选举时间

2.3 选举投票

2.4 替换主节点工作

常见问题

1.集群完成性

cluster-require-full-coverage默认 yes,把16384分槽都分配了,保证完整性,但是在故障转移,数据迁移的时候,有些槽暂时没有分配,导致集群其他槽都不能使用。一般大多数业务都是无法容忍的,所以设置为no

2.带宽消耗

官方建议:1000个节点,ping/pong会消耗一定的带宽,cluster-node-timeout的长短也会影响带宽,时间设置的越长,带宽消耗越小

3.发布订阅广播

4.数据倾斜

5.读写分离

6.数据迁移

7.集群和单机对比