脑裂,是一个分布式中常见的问题。

redis如何发送脑裂

技巧💡

简单来说,就是redis主库的假故障(如cpu飙高,没想要从库的心跳请求,被哨兵判定为了故障。但是实际上是能处理客户端写请求)。从库升级了主库,此时就发送了脑裂。

image.png

脑裂带来的影响(数据丢失)

技巧💡

在主从切换的过程中,如果原主库只是“假故障”,它会触发哨兵启动主从切换,一旦等它从假故障中恢复后,又开始处理请求,这样一来,就会和新主库同时存在,形成脑裂。等到哨兵让原主库和新主库做全量同步后,原主库在切换期间保存的数据就丢失了。

image.png

资料

33 脑裂:一次奇怪的数据丢失