Redis之集群脑裂

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

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

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

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

例如:

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

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

相关推荐
倔强的石头_18 分钟前
关键信息基础设施的数据库选型:高可用、全链路安全与平滑替代的技术实践
数据库
q***48311 小时前
数据库操作与数据管理——Rust 与 SQLite 的集成
数据库·rust·sqlite
是垚不是土2 小时前
运维新人踩坑记录:Redis与MySQL生产故障排查&优化手册
运维·数据库·redis·mysql·云计算·bootstrap
deng-c-f2 小时前
配置(9):在ubuntu上生成core文件
数据库·windows·ubuntu
野生技术架构师2 小时前
数据库连接池爆满如何排查
网络·数据库·oracle
百***81272 小时前
从 SQL 语句到数据库操作
数据库·sql·oracle
rchmin2 小时前
mysql中 char 和 varchar 的区别
数据库·mysql
SelectDB2 小时前
深入理解 Doris Variant:如何让 JSON 查询性能追平列存,还能承载万列索引字段?|Deep Dive
大数据·数据库·数据分析
百***3282 小时前
数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(一).创建基础表
数据库·mysql·oracle
i***66502 小时前
Spring Boot 整合 Redis 步骤详解
spring boot·redis·bootstrap