Redis之集群脑裂

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

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

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

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

例如:

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

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

相关推荐
运气好好的几秒前
mysql数据库日志文件过大如何清理_定期备份与重置日志文件
jvm·数据库·python
空中海8 分钟前
第四篇:进阶篇 — 缓存、消息队列、安全与常用中间件
安全·缓存·中间件
2401_8314194425 分钟前
如何防止MongoDB副本集被误初始化_副本集名称(replSetName)锁定
jvm·数据库·python
阿丰资源33 分钟前
基于Spring Boot的美容院管理系统(附源码+数据库+文档)
数据库·spring boot·后端
徐子童34 分钟前
复合索引会失效的场景
数据库·mysql·面试题·索引失效
abc123456sdggfd37 分钟前
解决Socket图像传输中断问题:基于分块接收与可靠发送的完整教程
jvm·数据库·python
2401_8330336237 分钟前
SQL中RIGHT JOIN真的很少用吗_数据完整性检查与反向关联分析
jvm·数据库·python
XiYang-DING41 分钟前
【Java EE】锁策略、锁升级、锁消除和锁粗化
java·redis·java-ee
摇滚侠1 小时前
sqlplus “/ as sysdba“ 什么意思
java·数据库·oracle
duangww1 小时前
OPEN SQL去掉文本中间的空格
数据库·abap