美文网首页
Redis 系列(10) 脑裂问题 & 扩缩容问题

Redis 系列(10) 脑裂问题 & 扩缩容问题

作者: suxin1932 | 来源:发表于2020-06-21 14:58 被阅读0次

1.sential模式下的脑裂问题

1.1 问题描述

指因为网络问题,导致redis master节点跟redis slave节点和sentinel集群处于不同的网络分区,
此时因为sentinel集群无法感知到master的存在,所以将slave节点提升为master节点。
此时存在两个不同的master节点,就像一个大脑分裂成了两个。

脑裂问题中,如果客户端还在基于原来的master节点继续写入数据,
那么新的master节点将无法同步这些数据,当网络问题解决之后,
sentinel集群将原先的master节点降为slave节点,
此时再从新的master中同步数据,将会造成大量的数据丢失。
sential模式下的脑裂问题.png

1.2 解决方案

#旧版本
min-slaves-to-write 3
min-slaves-max-lag 10

#新版本
min-replicas-to-write 3
min-replicas-max-lag 10

第一个参数表示连接到master的最少slave数量
第二个参数表示slave连接到master的最大延迟时间
按照上面的配置,要求至少3个slave节点,且数据复制和同步的延迟不能超过10秒,
否则的话master就会拒绝写请求,配置了这两个参数之后,
>> 如果发生集群脑裂,原先的master节点接收到客户端的写入请求会拒绝,
就可以减少数据同步之后的数据丢失。
>> redis中的异步复制情况下的数据丢失问题也能使用这两个参数, 但需要考量性能与可用性。

2.集群(cluster)模式下的脑裂问题

参考资料
https://www.cnblogs.com/yjmyzz/p/redis-split-brain-analysis.html

相关文章

  • Redis 系列(10) 脑裂问题 & 扩缩容问题

    1.sential模式下的脑裂问题 1.1 问题描述 1.2 解决方案 2.集群(cluster)模式下的脑裂问题...

  • Redis脑裂问题

    背景假设现在有三台机器,分别安装了redis服务,结构如图 故障发生:如果此时master服务器所在区域网络通信出...

  • 【K8s 精选】CKA - Application 扩容和缩容

    1.Deployment 扩缩容 1.1 手动扩缩容 1.2 自动扩缩容 前提条件:集群启用 Horizontal...

  • redis集群脑裂

    定义 edis的集群脑裂是指因为网络问题,导致redis master节点跟redis slave节点和senti...

  • 脑裂问题

    大数据:hdfs两个namenode的脑裂问题解决方案:比如增加心跳线,栅栏机制。这两点甚至其他解决方案,有没有大...

  • 面试-经历

    360奇安(本公司) 天擎部门面试:问题所在:问题:1、redis的sentinel上投票选举的问题2、脑裂问题怎...

  • Knative 驾驭篇:带你 '纵横驰骋' Knative 自动

    Knative 中提供了自动扩缩容灵活的实现机制,本文从 三横两纵 的维度带你深入了解 KPA 自动扩缩容的实现机...

  • Zookeeper的脑裂问题及解决方案

    先抛出一个问题:Zookeeper3.4.6版本是否存在脑裂问题? 一,什么是脑裂 什么是脑裂呢? 下图是一个正常...

  • es脑裂问题

    概述: 一个正常es集群中只有一个主节点,主节点负责管理整个集群,集群的所有节点都会选择同一个节点作为主节点所以无...

  • 【Knative系列】理解 Knative Serving扩缩容

    本文主要讲解 Knative Serving扩缩容系统的设计原理及实现细节,主要从以下三个方面进行讲解:Knati...

网友评论

      本文标题:Redis 系列(10) 脑裂问题 & 扩缩容问题

      本文链接:https://www.haomeiwen.com/subject/zrcaxktx.html