Redis之集群脑裂

redis集群没有过半机制会有脑裂问题,网络分区导致脑裂后多个主节点对外提供写服务,一旦网络分区恢复,会将其中一个主节点变为从节点,这时会有大量数据丢失。

规避方法可以在redis配置里加上参数(这种方法不可能百分百避免数据丢失,参考集群leader选举机制):

java 复制代码
min‐replicas‐to‐write 1

写数据成功最少同步的slave数量,这个数量可以模仿半数机制配置。

例如:

集群总共三个节点可以配置1,加上leader就是2,超过了半数

这个配置在一定程度上会影响集群的可用性,比如slave要是少于1个,这个集群就算leader正常也不能提供服务了,需要具体场景权衡选择。

相关推荐
在风中的意志6 分钟前
[数据库SQL] [leetcode] 2388. 将表中的空值更改为前一个值
数据库·sql·leetcode
梦幻通灵21 分钟前
Mysql字段判空实用技巧
android·数据库·mysql
酸菜牛肉汤面2 小时前
23、varchar与char的区别
数据库
AI题库2 小时前
PostgreSQL 18 从新手到大师:实战指南 - 2.5 Serverless PostgreSQL
数据库·postgresql·serverless
IT技术分享社区2 小时前
数据库实战:MySQL多表更新JOIN操作的底层原理与性能调优指南
数据库·mysql·程序员
廋到被风吹走2 小时前
【数据库】【Oracle】分区表与大表设计
数据库·oracle
UrSpecial3 小时前
InnoDB存储引擎
数据库·mysql
gjc5923 小时前
MySQL隐蔽 BUG:组合条件查询无故返回空集?深度排查与规避方案
android·数据库·mysql·bug
❀͜͡傀儡师4 小时前
docker部署PostgreSQL数据库的监控和管理工具
数据库·docker·postgresql
a187927218314 小时前
MySQL 事务
数据库·mysql·事务·mvcc·acid·readview·可见性判断算法