当前位置: 首页 > news >正文

第五冶金建设公司职工大学网站seo优化推广公司

第五冶金建设公司职工大学网站,seo优化推广公司,成都商铺装修设计公司,网站开发ios集群脑裂导致数据丢失怎么办? 什么是脑裂? 先来理解集群的脑裂现象,这就好比一个人有两个大脑,那么到底受谁控制呢? 那么在 Redis 中,集群脑裂产生数据丢失的现象是怎样的呢? 在 Redis 主从架…

集群脑裂导致数据丢失怎么办?

什么是脑裂?

先来理解集群的脑裂现象,这就好比一个人有两个大脑,那么到底受谁控制呢?

那么在 Redis 中,集群脑裂产生数据丢失的现象是怎样的呢?

在 Redis 主从架构中,部署方式一般是「一主多从」,主节点提供写操作,从节点提供读操作。 如果主节点的网络突然发生了问题,它与所有的从节点都失联了,但是此时的主节点和客户端的网络是正常的,这个客户端并不知道 Redis 内部已经出现了问题,还在照样的向这个失联的主节点写数据(过程A),此时这些数据被旧主节点缓存到了缓冲区里,因为主从节点之间的网络问题,这些数据都是无法同步给从节点的。

这时,哨兵也发现主节点失联了,它就认为主节点挂了(但实际上主节点正常运行,只是网络出问题了),于是哨兵就会在「从节点」中选举出一个 leader 作为主节点,这时集群就有两个主节点了 —— 脑裂出现了

然后,网络突然好了,哨兵因为之前已经选举出一个新主节点了,它就会把旧主节点降级为从节点(A),然后从节点(A)会向新主节点请求数据同步,因为第一次同步是全量同步的方式,此时的从节点(A)会清空掉自己本地的数据,然后再做全量同步。所以,之前客户端在过程 A 写入的数据就会丢失了,也就是集群产生脑裂数据丢失的问题

总结一句话就是:由于网络问题,集群节点之间失去联系。主从数据不同步;重新平衡选举,产生两个主服务。等网络恢复,旧主节点会降级为从节点,再与新主节点进行同步复制的时候,由于会从节点会清空自己的缓冲区,所以导致之前客户端写入的数据丢失了。

解决方案

当主节点发现从节点下线或者通信超时的总数量小于阈值时,那么禁止主节点进行写数据,直接把错误返回给客户端。

在 Redis 的配置文件中有两个参数我们可以设置:

  • min-slaves-to-write x,主节点必须要有至少 x 个从节点连接,如果小于这个数,主节点会禁止写数据。
  • min-slaves-max-lag x,主从数据复制和同步的延迟不能超过 x 秒,如果超过,主节点会禁止写数据。

我们可以把 min-slaves-to-write 和 min-slaves-max-lag 这两个配置项搭配起来使用,分别给它们设置一定的阈值,假设为 N 和 T。

这两个配置项组合后的要求是,主库连接的从库中至少有 N 个从库,和主库进行数据复制时的 ACK 消息延迟不能超过 T 秒,否则,主库就不会再接收客户端的写请求了。

即使原主库是假故障,它在假故障期间也无法响应哨兵心跳,也不能和从库进行同步,自然也就无法和从库进行 ACK 确认了。这样一来,min-slaves-to-write 和 min-slaves-max-lag 的组合要求就无法得到满足,原主库就会被限制接收客户端写请求,客户端也就不能在原主库中写入新数据了

等到新主库上线时,就只有新主库能接收和处理客户端请求,此时,新写的数据会被直接写到新主库中。而原主库会被哨兵降为从库,即使它的数据被清空了,也不会有新数据丢失。

再来举个例子。

假设我们将 min-slaves-to-write 设置为 1,把 min-slaves-max-lag 设置为 12s,把哨兵的 down-after-milliseconds 设置为 10s,主库因为某些原因卡住了 15s,导致哨兵判断主库客观下线,开始进行主从切换。

同时,因为原主库卡住了 15s,没有一个从库能和原主库在 12s 内进行数据复制,原主库也无法接收客户端请求了。

这样一来,主从切换完成后,也只有新主库能接收请求,不会发生脑裂,也就不会发生数据丢失的问题了

http://www.zhongyajixie.com/news/1117.html

相关文章:

  • 百度域名书写北京seo优化哪家好
  • 淘宝推广网站怎么做今日最新体育新闻
  • 襄阳做网站公司电话谷歌商店下载官网
  • 福州网站建设网络公司排名网站收录平台
  • 软件测试培训机构排名河南seo排名
  • 网站静态页面下载工具营业推广经典案例
  • 中小型网站建设教程小程序推广运营的公司
  • 代做毕设网站合肥网络推广软件系统
  • 跨境电商erp软件排名东莞百度seo排名
  • 域名注册要求seo实战培训费用
  • 网站背景素材搜索引擎排名中国
  • wordpress畅言怎么样提升seo排名的方法
  • bluehost空间内直接安装wordpress失败网站关键词优化推广
  • 谷歌浏览器 安卓下载湘潭关键词优化服务
  • 网站建设合同英文模板郑州谷歌优化外包
  • 手机网站做seo创建免费网站
  • 网站建设优化石家庄互联网营销推广方案
  • 中美网站建设搜索引擎营销方法主要有三种
  • 网站建设开票单位网上代写文章一般多少钱
  • 重庆学校网站推广西安疫情最新数据消息5分钟前
  • 表白网站制作平台营销型网站重要特点是
  • 上海著名的建筑设计公司广州优化疫情防控措施
  • 宿迁做网站优化百度seo优化排名
  • 亚马逊网站怎么做网站设计师
  • 中山发布最新通知seo优化方案案例
  • 系统集成销售和网站建设销售摘抄一小段新闻
  • html框架做网站能去百度上班意味着什么
  • html5响应式布局网站深圳最新新闻事件今天
  • 静态和动态网站的区别磁力屋torrentkitty
  • 网站建设策划解决方案网上销售培训课程