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

php 网站开发工程师陕西建设网三类人员

php 网站开发工程师,陕西建设网三类人员,wordpress数据库里面改端口,网站建设岗位叫什么集群脑裂导致数据丢失怎么办? 什么是脑裂? 先来理解集群的脑裂现象,这就好比一个人有两个大脑,那么到底受谁控制呢? 那么在 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.yayakq.cn/news/284480/

相关文章:

  • 余姚网站seo运营创建一个网站所需的成本
  • 网站开发 模块化网站建设的公司太多了
  • 网站建设什么软件北京网站建设公司动感
  • 网站建设过程有哪几个阶段湖北省建设厅网站杨凯
  • 做网站为什么差价很大赣州微信公众号制作
  • jsp语言做网站appstar
  • 模板网站缺点福州网站建设询q479185700上快
  • 国家重大建设项目网站地址免费网站空间可上传网站
  • 简单的电子商务网站主页设计图社交网站开发客户
  • 网站设计一个版块做彩票的网站
  • 江都区城乡建设局网站软件工程师培训学校
  • 制作手机端网站开发网页制作设计培训
  • 室内设计网站源码下载双控机制建设网站
  • wordpress怎么做网盘站自助建站系统怎么用
  • 长春市规划建设局网站查询物流案例 网站
  • 网站建设策划报价单泰安千橙网络有限公司
  • 天河网站建设优化o2o指的是什么
  • 销售型网站建设网站做缓存
  • 深圳新站优化学校网站建设的流程
  • 网站建设风景课程设计报告免费域名网站搭建
  • 有阿里云服务器 怎么做网站微网站和手机网站
  • 创建网站的优势多少钱一个
  • 山西网站制作公司哪家好手机网站漂浮怎么做
  • 如何在yahoo上做网站医院男性男科
  • 学生空间建设网站怎么免费做一个网站
  • 怎么做软文代发平台网站动漫设计与制作主修课程有哪些
  • wordpress开启伪静态找不到页面seo的五个步骤
  • 白云网站 建设seo信科网站使用教程
  • 做亚马逊网站费用wordpress网站有支付功能吗
  • 做网站买服务器企业所得税怎么征收比例