你看懂了吗 说说Redis主从的脑裂行为
前言
大家好,我是田螺。
分享一道大厂面试真题:说说redis主从的脑裂?
咱们可以依照这几个维度来回答:
1. 什么是脑裂
什么是脑裂行为?
2. 主从集群中为什么会出现脑裂?
脑裂行为在Redis主从集群中或许出现的要素,关键包含以下几点:
3. 脑裂为什么又会造成数据失落呢?
Redis的主从切换后,一旦从库被优化为新的主库,哨兵会批示原主库去口头主从复制命令,以便与新主库启动全量同步数据。最后在全量同步的阶段的话,原主库须要肃清本地数据,加载来自新主库的RDB文件(咱们知道,redis主从同步是基于rdb文件的)。这就会造成在主从切换时期,原主库接纳的新写数据会失落啦。
还是上个繁难的图,繁难大家了解吧:
上图,大家可以发现:
4. 咱们该如何防止/应答脑裂的出现呢?
为了防止脑裂的出现,咱们尝试这些方法:
还有个比拟介绍的形式,那就是min-slaves-to-write 和 min-slaves-max-lag 这两个参数,可以有效缩小 Redis 脑裂的危险