Redis之集群脑裂

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

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

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

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

例如:

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

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

相关推荐
清水白石008几秒前
从“点一下导出”到生产级任务队列:Python 异步导出系统设计全景解析
java·数据库·python
快乐的哈士奇2 分钟前
历史对话关联 RAG 上下文检索 — 内部技术介绍
服务器·数据库·oracle
半夜修仙3 分钟前
Redis中List数据类型的常见命令
数据库·redis·缓存
wujt88883 分钟前
mysql 比较数据库
数据库·mysql·oracle
Jul1en_5 分钟前
【Redis】Sentinel 哨兵支持,附带 Docker 部署教程
redis·docker·sentinel
tongluowan0079 分钟前
怎么保证缓存和数据库的一致性
java·数据库·缓存·一致性
恣艺17 分钟前
用Go从零实现一个高性能KV存储引擎:B+Tree索引、WAL持久化、LRU缓存的工程实践
开发语言·数据库·redis·缓存·golang
TDengine (老段)17 分钟前
TDengine 支持数据类型深度解析 — 类型体系、存储编码与选型指南
java·大数据·数据库·系统架构·时序数据库·tdengine·涛思数据
weelinking9 小时前
【产品】00_产品经理用Claude实现产品系列介绍
数据库·人工智能·sql·数据挖掘·github·产品经理
2301_8039346110 小时前
Go语言如何做网络爬虫_Go语言爬虫开发教程【指南】
jvm·数据库·python