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

网店网站开发教育网站制作论文

网店网站开发,教育网站制作论文,中文外贸网站建设,网页设计师证书考试内容Zookeeper和分布式环境中的假死脑裂问题 最近和同事聊天无意间发现他们的系统也存在脑裂的问题。想想当初在我们的系统中为了解决脑裂花了非常大的功夫#xff0c;现在和大家一起讨论下脑裂#xff0c;假死等等这些问题和解决的方法。 在一个大集群中往往会有一个master存在… Zookeeper和分布式环境中的假死脑裂问题   最近和同事聊天无意间发现他们的系统也存在脑裂的问题。想想当初在我们的系统中为了解决脑裂花了非常大的功夫现在和大家一起讨论下脑裂假死等等这些问题和解决的方法。 在一个大集群中往往会有一个master存在在长期运行过程中不可避免的会出现宕机等问题导致master不可用在出现这样的情况以后往往会对系统产生很大的影响所以一般的分布式集群中的master都采用了高可用的解决方案来避免这样的情况发生。 master-slaver方式存在一个master节点平时对外服务同时有一个slaver节点监控着master同时有某种方式来进行数据的同步。如果在master挂掉以后slaver能很快获知并迅速切换成为新的master。在以往master-slaver的监控切换是个很大的难题但是现在有了Zookeeper的话能比较优雅的解决这一类问题。                                                                            master-slaver结构 master-slaver实现起来非常简单而且在master上面的各种操作效率要较其他HA解决方案要高早期的时候监控和切换很难控制但是后来zookeeper出现了他的watch和分布式锁机制很好的解决了这一类问题。 我们的系统和同事的系统都是这种模式但是后来都发现由于ZooKeeper使用上的问题存在脑裂的问题。 记得很久以前参加一个大牛的技术交流会他就提到过在集群中假死问题是一个非常让人头痛的问题假死也是导致脑裂的根源。 根据一个什么样的情况能判断一个节点死亡了down掉了人可能很容易判断但是对于在分布式系统中这些是有监控者来判断的对于监控者来说很难判定其他的节点的状态唯一可靠点途径的就是心跳包括ZooKeeper就是使用心跳来判断客户端是否仍然活着的使用ZooKeeper来做master HA基本都是同样的方式每个节点都尝试注册一个象征master的临时节点其他没有注册成功的则成为slaver并且通过watch机制监控着master所创建的临时节点Zookeeper通过内部心跳机制来确定master的状态一旦master出现意外Zookeeper能很快获悉并且通知其他的slaver其他slaver在之后作出相关反应。这样就完成了一个切换。这种模式也是比较通用的模式基本大部分都是这样实现的但是这里面有个很严重的问题如果注意不到会导致短暂的时间内系统出现脑裂因为心跳出现超时可能是master挂了但是也可能是masterzookeeper之间网络出现了问题也同样可能导致。这种情况就是假死master并未死掉但是与ZooKeeper之间的网络出现问题导致Zookeeper认为其挂掉了然后通知其他节点进行切换这样slaver中就有一个成为了master但是原本的master并未死掉这时候client也获得master切换的消息但是仍然会有一些延时zookeeper需要通讯需要一个一个通知这时候整个系统就很混乱可能有一部分client已经通知到了连接到新的master上去了有的client仍然连接在老的master上如果同时有两个client需要对master的同一个数据更新并且刚好这两个client此刻分别连接在新老的master上就会出现很严重问题。 出现这种情况的主要原因在与Zookeeper集群和Zookeeperclient判断超时并不能做到完全同步这些还依赖于操作系统调度等很难保证也就是说可能一前一后如果是集群先于client发现那就会出现上面的情况了。同时在发现并切换后通知各个客户端也有先后快慢。出现这种情况的几率很小需要master与zookeeper集群网络断开但是与其他集群角色之间的网络没有问题还要满足上面那些条件但是一旦出现就会引发很严重的后果数据不一致了。 避免这种情况其实也很简单在slaver切换的时候不在检查到老的master出现问题后马上切换而是在休眠一段足够的时间确保老的master已经获知变更并且做了相关的shutdown清理工作了然后再注册成为master就能避免这类问题了这个休眠时间一般定义为与zookeeper定义的超时时间就够了但是这段时间内系统可能是不可用的但是相对于数据不一致的后果我想还是值得的。 当然最彻底的解决这类问题的方案是将master HA集群做成peer2peer的屏蔽掉外部Zookeeper的依赖。每个节点都是对等的没有主次这样就不会存在脑裂的问题但是这种ha解决方案需要使用两阶段paxos这类数据一致性保证协议来实现不可避免的会降低系统数据变更的系统如果系统中主要是对master的读取操作很少更新就很适合了。 原文地址http://backend.blog.163.com/blog/static/20229412620128911939110/ 转载于:https://www.cnblogs.com/rainy-shurun/p/5414110.html
http://www.sadfv.cn/news/246246/

相关文章:

  • 莆田网站制作设计对百度竞价排名的看法
  • 门户网站建设运营福州做网站互联网公司排名
  • 湖南住建云网站网站开发的费用是怎么计算的
  • wordpress代理管理多站点网页制作的目的和意义
  • 网站建设代理公司合肥模板建站多少钱
  • 天津制作网站wordpress漂浮按钮
  • 天通苑网站建设网络舆情监测中心
  • 网站建设毕业设计心得信息课做网站的软件
  • 网站制作哪些做网站费用上海
  • asp网站数据库位置网站程序上传
  • 个人网站做淘宝客教程工商天眼查官网查企业
  • 房地产网站建设哪家有效果广州网站建设推广报价
  • 中山做网站优化logo设计在线
  • 电子商务网站建设试题设计软件网站推荐
  • 怎么建设好一个外贸购物网站今天最新生猪价格
  • 西安公司网站制作价格mt7620a做网站
  • 自己在网站开发的客户怎么联系国外的网站需要备案吗
  • 建设银行个人网站登陆湖南省郴州市十大旅游景点排行榜
  • 做网站服务器系统如何组建一个小型局域网
  • 网站上传文件存储方式图片自动生成器
  • 网络平台怎么搭建网站广州网站建设开发设计
  • 网站商城建设报告营销策划书范文大全
  • 网站能带来什么wordpress首页代码压缩
  • 建设手机银行官方网站wordpress重装空白
  • 如何推广运营网站网站做的和别人一样违法吗
  • 天水市住房和城乡建设局网站学校网站 建设 价格
  • asp程序网站后台发布产品的时候前台怎么不显示产品名称广州公司建设网站
  • 俞润装饰做哪几个网站ps课堂网站
  • 下载学校网站模板下载地址建设部指定发布招标信息网站
  • 自己的做网站重庆南昌网站建设