Redis之集群脑裂

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

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

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

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

例如:

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

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

相关推荐
u01091476019 分钟前
CSS组件库如何快速扩展_通过Sass @extend继承基础布局
jvm·数据库·python
baidu_3409988223 分钟前
Golang怎么用go-noescape优化性能_Golang如何使用编译器指令控制逃逸分析行为【进阶】
jvm·数据库·python
m0_6784854523 分钟前
如何利用虚拟 DOM 实现无痕刷新?基于 VNode 对比的状态保持技巧
jvm·数据库·python
不吃香菜学java24 分钟前
Redis的java客户端
java·开发语言·spring boot·redis·缓存
qq_3422958226 分钟前
CSS如何实现透明背景效果_通过RGBA色彩模式控制透明度
jvm·数据库·python
panzer_maus34 分钟前
MySQL 索引介绍与索引优化的简单介绍
数据库·mysql
Greyson142 分钟前
CSS如何处理超长文本换行问题_结合word-wrap属性
jvm·数据库·python
captain3761 小时前
事务___
java·数据库·mysql
justjinji1 小时前
如何批量更新SQL数据表_使用UPDATE JOIN语法提升效率
jvm·数据库·python
爱学习的小邓同学2 小时前
MySQL --- MySQL数据类型
数据库·mysql