1、redis哨兵下如何防止脑裂
哨兵模式下,哨兵判断master下线的原理是:哨兵会不断的发送ping请求给master,如果master超过一定的时间没有回复,哨兵会将master设置为主管下线,然后哨兵会询问其他的哨兵master的状态,如果超过一定配额的哨兵认为master下线,则master被认为是客观下线。如果配额设置的比较低,那么就会出现脑裂,即某一些sentinel脱离网络,然后认定某个master下线,其实某个master并没有宕机。
解决的方案是:哨兵的数量要配置为奇数,然后认为master下线的配额要设置为大于n/2+1,这样哨兵就可以防止脑裂。
master也需要做一些配置,比如master脱离集群后,因为没有sentinnel能与其进行沟通,所以还是master的状态,某些客户端还可以进行请求,还可以写,这样也会丢失更新。 解决方案是:配置min-slave-to-write,min-slave-max-lag,这样就可以避免master脑裂。
redis脑裂问题
最新推荐文章于 2024-11-03 16:03:04 发布