分布式技术原理与算法解析
聂鹏程
智载云帆 CTO,前华为分布式 Lab 资深技术专家
39663 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 43 讲
分布式技术原理与算法解析
15
15
1.0x
00:00/00:00
登录|注册

09 | 分布式体系结构之集中式结构:一人在上,万人在下

在集中式架构中,Master如何判断Slave是否存活呢?
Kubernetes是一个很好的开始
理解一个系统的架构有助于理解其他系统
三种系统采用集中式架构
对接不同的框架,支持容器调度和部署
采用典型的集中式架构
分布式系统的内核
支持自动化容器部署和负载均衡
Master节点和Worker节点组成
开源的容器集群管理系统
支持长服务和批处理任务
包括BorgMaster和Borglet
典型的集中式结构
中央服务器统一管理和调度任务
部署结构简单
多个节点服务器与中央服务器连接
所有业务由中央服务器处理
所有数据存储在中央服务器中
由一台或多台服务器组成中央服务器
思考题
总结
Mesos
Kubernetes
Google Borg
经典集中式结构
集中式结构
分布式体系结构中的集中式结构

该思维导图由 AI 生成,仅供参考

你好,我是聂鹏程。今天,我来继续带你打卡分布式核心技术。
云这个话题对我们来说已经非常熟悉了。可以说,云在我们的生活中无处不在,比如我们平时看的视频通常就是放在云上的。当我们要播放一段视频时,请求会先转发到云上,从云上下载数据到本地,然后播放。在这里,你肯定会疑惑,云上资源那么丰富吗,可以存放这么多东西吗?
云上的资源确实丰富,因为它可以尽可能地把更多的服务器组织起来,作为一个统一的资源,为多个用户提供服务。这里的重点是,把多个服务器管理起来,作为一个统一的资源提供服务。而如何组织,就是分布式体系结构的范畴了。
你会发现,很多场景下,我们的请求都会汇总到一台服务器上,由这台服务器统一协调我们的请求和其他服务器之间的关系。这种由一台服务器统一管理其他服务器的方式,就是分布式体系结构中的集中式结构(也称为 Master/Slave 架构),其中统一管理其他服务器的服务器是主,其他服务器是从,可以形象地比喻为“一人在上,万人在下”。
接下来,我就带你一起打卡分布式体系结构中的集中式结构吧。

什么是集中式结构?

集中式结构就是,由一台或多台服务器组成中央服务器,系统内的所有数据都存储在中央服务器中,系统内所有的业务也均先由中央服务器处理。多个节点服务器与中央服务器连接,并将自己的信息汇报给中央服务器,由中央服务器统一进行资源和任务调度:中央服务器根据这些信息,将任务下达给节点服务器;节点服务器执行任务,并将结果反馈给中央服务器。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

分布式系统中的集中式架构在Google Borg、Kubernetes和Apache Mesos等知名集群管理系统中发挥重要作用。这些系统采用集中式结构,如BorgMaster和Borglet、Master节点和Worker节点等组成,实现高效的资源和任务调度。它们具有各自的特点和优势,适用于不同的应用场景。Borg是Google内部使用的复杂系统,Kubernetes是其简化开源版,而Mesos则被称为分布式系统的内核。这三种系统虽然功能组件不同,但整体框架都采用集中式架构。因此,理解一个集群管理系统的架构将有助于理解其他集中式的集群管理架构。Kubernetes由于成熟的社区和丰富的文档,适合新手入门。集中式架构中,Master判断Slave存活的方式是一个值得思考的问题。这些系统的集中式架构设计和功能模块使得它们成为值得关注的分布式系统管理工具。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式技术原理与算法解析》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(23)

  • 最新
  • 精选
  • 亢(知行合一的路上)
    了解了集中式集群管理中的三个典型案例 Borg、Kubernetes 和 Mesos,Kubernetes 是 Borg 的开源版本,核心是可以进行自动化容器操作,包括部署、调度和在节点间弹性伸缩等,而 Mesos 有点像简化版,只负责底层资源的管理和分配,并不涉及存储、任务调度等功能,可以对接 Spark、Hadoop、Marathon 等框架,相当于帮各个框架完成了一些底层的工作,而业务关系比较大的任务调度等,还让框架做,让自己的实现简单、高效。 感觉 Mesos 的定位非常好,不是做一个大而全的东西,而是让大家都需要我,都愿意依赖我,做人是不是也可以这样呢?做减法,专注自己的优势。

    作者回复: 从分布式调度类比到做人的观点,很有想法,👍

    2020-03-05
    9
  • 面试官问
    现在提倡使用 leader/follower 来替代 master/slave

    作者回复: 这是两种不同的说法

    2019-10-12
    4
    6
  • Jackey
    可以通过slave向master发送心跳包来监听slave的存活状态。还想到了redis的哨兵模式,主从节点的存活状态都由哨兵来监控

    作者回复: master 和 slave之间其实可以通过TCP链接和心跳结合来进行判断。

    2019-10-13
    2
    4
  • xj_zh
    老师,可以讲讲master怎么通过tcp和心跳包结合判断slave是否存活的吗?坐等具体实现细节!

    作者回复: master和slave之间可以建立一个TCP链接,如果Slave进程退出,但slave节点未挂掉,master这边会感知到TCP链路断开。针对网络故障,或整个Slave服务器挂掉的情况下,可以通过心跳超时进行判断。

    2019-10-23
    3
  • 观弈道人
    我怎么感觉这篇和第四篇说的是一个东西,master/slave,求高手指点迷津

    作者回复: 确实有联系,不过还是有区别。 集中式架构的显著特点就是集群中的节点有Master也有Slave,我在第9讲中主要讲的是这种体系架构,以及对应的典型代表。 而在第4讲中主要讲的是如果有若干个节点,除了静态手动指定Master和Slave之外,还有没有什么方法可以动态的去从节点中选出Master节点,这在Master节点故障后,进行业务故障恢复时特别有用。在这些场景下就需要用到第4讲的知识了。

    2019-12-19
    2
    2
  • goolnen
    老师后面会对集中式和非集中式进行优缺点的对比么,会不会举一些例子:如redis、elasticsearch、Hadoop...这些系统为什么这么设计?还有我在目录没看到关于分布式一致性这个重要的话题呢,以及相关的一致性算法,这些后面会专门讲讲么

    作者回复: 其实一致性没有单独说成是“一致性”,但是分布式共识、分布式数据里面都会介绍一致性的知识。

    2019-10-21
    1
  • luffy
    所有数据都存储在中央服务器,那要节点服务器干什么?节点服务器能执行中央服务器的数据吗

    作者回复: 节点服务器运算执行

    2020-05-31
  • 楚翔style
    yarn应该也是集中式的分布式体系吧,,有applicationMaster

    作者回复: Yarn属于集中式的

    2019-10-16
    2
  • 易儿易
    原话:也正因为此,Mesos 的任务调度框架是双层结构。 老师,这个因果关系没有看明白…… 不论用户请求还是框架集成,只是api方式不同对吧?Mesos的双层结构是什么效果呢?

    作者回复: Mesos的双层调度我会在“分布式调度架构之两层调度:物质文明、精神文明两手抓”进行介绍

    2019-10-12
  • Master怎么判断Slave是否存活? 1:Slave定时向Master汇报自己还活着,定时心跳包 2:Master定时询问Slave是否还活着,定时心跳包 3:Master与Slave之间建立TCP长链接
    2020-02-15
    11
收起评论
显示
设置
留言
23
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部