【数据库】redis集群怎样防备脑裂
2019-11-21数据库搜奇网56°c
A+ A-
什么是redis的集群脑裂?
redis的集群脑裂是指由于收集题目,致使redis master节点跟redis slave节点和sentinel集群处于差别的收集分区,此时由于sentinel集群没法感知到master的存在,所以将slave节点提升为master节点。 (引荐进修:Redis视频教程)
此时存在两个差别的master节点,就像一个大脑破裂成了两个。
集群脑裂题目中,假如客户端还在基于本来的master节点继承写入数据,那末新的master节点将没法同步这些数据,当收集题目解决以后,sentinel集群将本来的master节点降为slave节点,此时再重新的master中同步数据,将会形成大批的数据丧失。
解决方案
redis的设置文件中,存在两个参数
min-slaves-to-write 3 min-slaves-max-lag 10
第一个参数示意连接到master的起码slave数目
第二个参数示意slave连接到master的最大延迟时间
假如连接到master的slave数目小于第一个参数,且ping的延迟时间小于即是第二个参数,那末master就会谢绝写要求,设置了这两个参数以后,假如发作集群脑裂,本来的master节点接收到客户端的写入要求会谢绝,就能够削减数据同步以后的数据丧失。
注重:较新版本的redis.conf文件中的参数变成了
min-replicas-to-write 3 min-replicas-max-lag 10
redis中的异步复制情况下的数据丧失题目也能运用这两个参数
以上就是redis集群怎样防备脑裂的细致内容,更多请关注ki4网别的相干文章!
标签:redis