2024年大数据最新大数据分布式系统中的脑裂,你懂吗?_分布式系统脑裂,2024年最新4个改变你编程技能的小技巧

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

脑裂就是由原来只有一个做决策的大脑突然间变成了由多个同时做决策,而这多个大脑在做决策时,因为互相之间的信息并不同步而导致的决策之间发生冲突进而让分布式系统的管理陷入到一种混乱的局面,分布式系统中引入了多个管理者同时做决策的现象就叫脑裂。

为什么会出现脑裂呢?分布式是大数据技术的核心思想,会出现还没等这个为主的领导挂掉,秘书就会搞一些小动作做一些类似夺权的行为,也开始对下面的小弟发号施令。

如何避免这种不合理的夺权行为发生呢?需要用可信任的第三方机构,由它来裁决谁是真正的领导,而谁只能暂时充当秘书,什么时候通过权力交接,都由第三方机构说了算。

第三方机构一般叫协调者,最出名且使用最广泛的就是zookeeper;如何预防分布式系统中的脑裂问题?想要公平公正的确定一个组织架构中谁才是符合要求的领导者,谁是秘书,协调者本身就必须得具备公平公正的条件;zookeeper有个强一致性算法也叫ZAB算法,给zookeeper提供了这种可信任的公平公正的基础;可分布式系统为了不让因为单个管理者挂掉而让整个系统陷入群龙无首的尴尬情况,于是会给分布式系统配置两个管理者,但是在集群正常运行时,只能一个为主另一个为辅,但在实际工作中如果大家都想当这个为主的领导;zookeeper有自己的默认策略就是比速度,看谁先向它提出当领导的申请,谁的速度快谁就暂时为主另一个当秘书。

具体的技术实现是两个预备领导都会向zookeeper的同一个地方写数据,但是因为ZAB算法的策略,限制了zookeeper在同一时间只能接受一个写请求,zookeeper的写请求处理方式是单线程的,这一点和redis很像,有一个先写进那就是领导,另一个就是秘书;如果某一刻这个领导挂了,zookeeper马上将秘书转成领导接任工作,技术实现就是在位的领导要把数据不间断的往某个地方写数据,zookeeper发现在位领导有段时间没往这个地方写数据了,就会取消当前的领导管理资格,将权力给秘书,并通知所有小弟系统进行了领导更换,让整个分布式系统处于一个持续可用的状态。

zookeeper集群自己选举master方式而保证不会脑裂的呢?zookeeper有自己的投票机制,其中的角色有三种,集群老大leader、以及集群小弟follower以及特殊的小弟叫observer。但是一般除开zookeeper的集群规模比较庞大之外,几乎用不到observer这个角色的。zookeeper对应的状态和角色一样,也有与之对应的leading、following以及observing,但多了一个looking状态,因为对于很多分布式系统来说老大和小弟的角色都是在集群启动之前在配置文件中指定的,zookeeper集群比较特殊,他的leader和follower角色是在集群启动的过程中通过节点间的投票来决定的,再投票结束前leader还没有被明确分配之前,此时的zookeeper中所有的节点它都是处于looking状态的,也就是等待leader被确定的状态,而且集群在运行过程中如果leader突然间挂了或者其他什么原因连接不上,那为了满足zookeeper自身的高可用,那么这个时候就需要重新进行投票来选择新的leader,而这个时候集群又会重新进入looking状态,而当投票完成之后各个zookeeper节点都被分配了对应的角色之后,那么各个节点就会进入对应的leading或者following状态。所以你会发现在整个zookeeper集群中,每个节点担任什么角色他都是动态决定的,老大和小弟都是随机的。

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

s/4f45ff00ff254613a03fab5e56a57acb)**

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值