Redis之集群脑裂

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

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

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

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

例如:

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

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

相关推荐
山楂树の4 小时前
【计算机系统原理】Intel 与 AT&T 汇编指令格式转换
汇编·学习·缓存
努力学习的小廉4 小时前
redis学习笔记(九)—— Redis 持久化
redis·笔记·学习
-Da-5 小时前
【操作系统学习日记】并发编程中的竞态条件与同步机制:互斥锁与信号量
java·服务器·javascript·数据库·系统架构
Predestination王瀞潞5 小时前
Base Tools-Associate-Fifth:re库详解
数据库·mysql
山楂树の5 小时前
【计算机系统原理】 直接映射(模映射) Cache 地址划分与访问过程
学习·缓存
Ricky_Theseus5 小时前
SQL Server2008 select语句基本语法
数据库·sql
cyforkk5 小时前
缓存穿透难题:当 Value 为空字符串时,该如何优雅处理?
缓存
呆子也有梦5 小时前
redis 的延时双删、双重检查锁定在游戏服务端的使用(伪代码为C#)
redis·后端·游戏·缓存·c#
网络工程小王5 小时前
【Python数据分析基础】
大数据·数据库·人工智能·学习
GDAL5 小时前
BoltDB vs Redis 读性能对比:实测表现与原理差异
redis·boltdb