首页 > 其他分享 >大数据分布式系统中的脑裂,你懂吗?

大数据分布式系统中的脑裂,你懂吗?

时间:2024-03-25 23:31:53浏览次数:21  
标签:懂吗 秘书 zookeeper 领导 决策 脑裂 分布式系统

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

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

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

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

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

标签:懂吗,秘书,zookeeper,领导,决策,脑裂,分布式系统
From: https://blog.csdn.net/2301_79551573/article/details/137026130

相关文章

  • Orleans - 1 .NET生态构建分布式系统的利器
    在当今数字化时代,构建高效、可靠的分布式系统是许多企业和开发团队面临的挑战。微软的Orleans框架为解决这些挑战提供了一个强大而简单的解决方案。本文将介绍Orleans的核心概念,并通过一个简单的示例代码来演示其用法。什么是Orleans?Orleans是由微软开发的一个开源分布......
  • Spark中driver、executor、job、stage、task、partition你懂吗?
        对于一个要提交到大数据集群的spark任务而言,准确说这个任务应该叫一个application,因为application是分布式任务,因此需要分配到多台机器中运行,而为了方便每个application的自我管理,这个多台机器中会有一台机器被选为小组长来管理整个application,而这个小组长的名字......
  • 一致性哈希算法及其在分布式系统中的应用
    摘要本文将会从实际应用场景出发,介绍一致性哈希算法(ConsistentHashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算......
  • Zabbix监控nginx高可用是否脑裂
    Zabbix监控nginx高可用是否脑裂实验环境所有机关闭防火墙与selinux第一台机zabbix192.168.159.141lamp、zabbix_server、zabbix_agentd第二台机lb1192.168.159.139keepalived、nginx_master负载均衡rs1和rs2的网页测试页面第三台机lb2192.168.159.147keepalived......
  • 分布式系统:进程间通信
    目录进程间通信概述互联网协议API进程间通信的特征套接字UDP数据报通信TCP流通信外部数据表示和编码外部数据表示常用的表示和编码方法远程对象引用组播通信网络虚拟化和覆盖网络参考资料进程间通信概述进程间通信(interprocesscommunication)主要讨论了分布式系统进程之间......
  • 分布式系统-无状态
    分布式系统的一个难点,便是它保存的数据,要保证是无状态的。要做到这一点,有三个思路。一是每个系统节点,分别保存一份完整的数据;二是每个系统节点,分别保存一部分数据,也就是将数据切片;三是思路一和思路二结合使用。每个系统节点保存一份完整的数据,好处在于保证了整个分布式系统的高......
  • 分布式系统之性能度量
     系统的性能主要看吞吐量和响应时间(时延),且是针对成功的请求而言的(请求失败了还谈其吞吐量或时延有何意义)系统的性能如果只看吞吐量,不看响应时间是没有意义的。比如系统每秒可以顶10万请求,但是响应时间已经到了5秒钟,这样的系统已经不可用了,这样的吞吐量也是没有意义的。吞吐量......
  • 分布式系统---关键技术“消息中间件”
    消息中间件是一种用于构建分布式系统的软件基础设施,提供了一种异步的,可靠的,可伸缩的消息传递机制。 提高系统性能首先考虑的是数据库的优化,但是数据库因为历史原因,横向扩展是一件非常复杂的工程,所有我们一般会尽量把流量都挡在数据库之前。不管是无限的横向扩展服务器,还是纵向......
  • 分布式系统的理论与优缺点
    集中式系统由一台或多台计算机组成的中心节点,数据集中存储在这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统的所有功能均由其集中处理。其部署简单,不用考虑多个节点间的分布式协作问题。分布式系统分布式系统是一个由硬件或软件组件分布在不......
  • DAPR-分布式系统运行时简介
    Dapr全称DistributedApplicationRuntime,翻译过来就是分布式应用程序运行时,在v1.0发布后得到了极大的发展。本章将向你介绍Dapr架构的核心概念,为您使用Dapr进行开发做好预热和准备工作。可以这么说,Dapr加速了新的云原生应用的开发,并简化了微服务架构的运用。在本章中,我们将讨论......