Redis之集群脑裂

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

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

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

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

例如:

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

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

相关推荐
fenglllle2 分钟前
译:MySQL counting-rows、function_count
数据库·mysql
怡步晓心l19 分钟前
Mandelbrot集合的多线程并行计算加速
c++·算法·缓存
我要打打代码21 分钟前
关于C#线程 任务
开发语言·数据库·c#
ID_1800790547323 分钟前
Python调用淘宝评论API:从入门到首次采集全流程
服务器·数据库·python
uoKent23 分钟前
MySQL 游标(Cursor)详解:与存储过程的结合使用
数据库·mysql
Web极客码24 分钟前
宝塔面板后台突然显示“IO延迟非常高”
linux·服务器·数据库
zhihuaba27 分钟前
构建一个基于命令行的待办事项应用
jvm·数据库·python
BullSmall36 分钟前
ACID 中的一致性
数据库·oracle
Tangcan-38 分钟前
【MySQL】 事务
数据库·mysql·adb
卡布叻_星星1 小时前
达梦数据库笔记之解决默认模式与当前表所属模式不匹配
数据库