分布式技术原理与算法解析
聂鹏程
智载云帆CTO,前华为分布式Lab资深技术专家
立即订阅
5969 人已学习
课程目录
已更新 36 讲 / 共 34 讲
0/4登录后,你可以任选4讲全文学习。
课前必读 (3讲)
开篇词 | 四纵四横,带你透彻理解分布式技术
免费
01 | 分布式缘何而起:从单兵,到游击队,到集团军
02 | 分布式系统的指标:啥是分布式的三围
第一站:分布式协调与同步 (6讲)
03 | 分布式互斥:有你没我,有我没你
04 | 分布式选举:国不可一日无君
05 | 分布式共识:存异求同
06 | 分布式事务:All or nothing
07 | 分布式锁:关键重地,非请勿入
08 | 分布式技术是如何引爆人工智能的?
第二站:分布式资源管理与负载调度 (6讲)
09 | 分布式体系结构之集中式结构:一人在上,万人在下
10 | 分布式体系结构之非集中式结构:众生平等
11 | 分布式调度架构之单体调度:物质文明、精神文明一手抓
12 | 分布式调度架构之两层调度:物质文明、精神文明两手抓
13 | 分布式调度架构之共享状态调度:物质文明、精神文明多手协商抓
14 | 答疑篇:分布式事务与分布式锁相关问题
第三站:分布式计算技术 (4讲)
15 | 分布式计算模式之MR:一门同流合污的艺术
16 | 分布式计算模式之Stream:一门背锅的艺术
17 | 分布式计算模式之Actor:一门甩锅的艺术
18 | 分布式计算模式之流水线:你方唱罢我登场
第四站:分布式通信技术 (4讲)
19 | 分布式通信之远程调用:我是你的千里眼
20 | 分布式通信之发布订阅:送货上门
21 | 分布式通信之消息队列:货物自取
22 | 答疑篇:分布式体系架构与分布式计算相关问题
第五站:分布式数据存储 (5讲)
23 | CAP理论:这顶帽子我不想要
24 | 分布式数据存储系统之三要素:顾客、导购与货架
25 | 数据分布方式之哈希与一致性哈希:“掐指一算”与“掐指两算”的事
26 | 分布式数据复制技术:分身有术
27 | 分布式数据之缓存技术:“身手钥钱”随身带
特别放送 (3讲)
特别放送 | 分布式下的一致性杂谈
特别放送 | 徐志强:学习这件事儿,不到长城非好汉
特别放送 | 那些你不能错过的分布式系统论文
第六站:分布式高可靠 (5讲)
28 | 分布式高可靠之负载均衡:不患寡,而患不均
29 | 分布式高可靠之流量控制:大禹治水,在疏不在堵
30 | 分布式高可用之故障隔离:当断不断,反受其乱
31 | 分布式高可用之故障恢复:知错能改,善莫大焉
32 | 答疑篇:如何判断并解决网络分区问题?
分布式技术原理与算法解析
登录|注册

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

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

什么是集中式结构?

集中式结构就是,由一台或多台服务器组成中央服务器,系统内的所有数据都存储在中央服务器中,系统内所有的业务也均先由中央服务器处理。多个节点服务器与中央服务器连接,并将自己的信息汇报给中央服务器,由中央服务器统一进行资源和任务调度:中央服务器根据这些信息,将任务下达给节点服务器;节点服务器执行任务,并将结果反馈给中央服务器。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《分布式技术原理与算法解析》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(17)

  • ASCE1885
    现在提倡使用 leader/follower 来替代 master/slave

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

    2019-10-12
    2
    2
  • Eternal
    这一章节平时了解得比较少,看起吃力,需要抓紧补习
    2019-10-27
    1
  • xj_zh
    老师,可以讲讲master怎么通过tcp和心跳包结合判断slave是否存活的吗?坐等具体实现细节!

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

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

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

    2019-10-13
    1
    1
  • _CountingStars
    方式有很多 比如可以直接利用定期的资源使用情况报告来判断是否存活 也可以 master 定期发送探活包 还可以 slave 定期更新指定数据

    PS:Twitter 已经放弃 mesos 全面 转向 kubernetes
    2019-10-11
    1
  • 人生几度秋凉
    老师有个疑问:
    Mesos 对物理资源进行了逻辑抽象,在应用层而不是物理层分配资源,通过容器而不是虚拟机(VM)分配任务。
    1、Borg和kubernetes在资源分配层面也都是通过容器而不是虚拟机吗?
    2、Borg和kubernetes也是对物理资源进行了逻辑抽象么?如何抽象的?谢谢老师!
    2019-12-04
  • goolnen
    老师后面会对集中式和非集中式进行优缺点的对比么,会不会举一些例子:如redis、elasticsearch、Hadoop...这些系统为什么这么设计?还有我在目录没看到关于分布式一致性这个重要的话题呢,以及相关的一致性算法,这些后面会专门讲讲么

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

    2019-10-21
  • W.T
    老师,您认为Mesos的未来前景如何?会被K8s取代吗?能谈谈您的看法吗?
    2019-10-21
    1
  • 楚翔style
    yarn应该也是集中式的分布式体系吧,,有applicationMaster

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

    2019-10-16
  • xfan
    能分享一下ceph吗
    2019-10-15
  • mt11912
    思考题:Slave节点启动一个health check service, 监控节点状态,并以一个固定时间周期向主节点报告其状态。
    老师,YARN和Mesos在设计上是不是类似的?
    2019-10-14
  • 易儿易
    原话:也正因为此,Mesos 的任务调度框架是双层结构。
    老师,这个因果关系没有看明白……
    不论用户请求还是框架集成,只是api方式不同对吧?Mesos的双层结构是什么效果呢?

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

    2019-10-12
  • leslie
    我觉得国内肯定不久会有自己的版本出来或者只是暂时没放出来而已:不知道又会是什么特性😀
    这几年国内IT的发展速度超快:不坚持学习就被可能淘汰了😃
    2019-10-12
    1
  • 花儿少年
    不知道老师你们是怎么判断一个task或者job是已经成功运行了,或者是启动失败了, 我们公司目前基本上是等待超时,很浪费时间
    2019-10-11
  • 小白
    以Kubernetes为例:
     * 各个节点的kubelet默认每隔10s向api server地址上报node 节点状态,时间间隔可以通过kubelet config 中nodeStatusUpdateFrequency参数来调节。
     * kube-controller-manager 默认会每隔5s查询每个node的节点状态,时间间隔可以通过--node-monitor-period 参数来调节
     * kube-controller-manager 会发现宕机node没有更新节点状态,直到达到grace period设置的时间之后,controller-manager会标记节点为not ready状态。grace period可以通过 --node-monitor-grace-period参数来设置。

    https://github.com/kubernetes-sigs/kubespray/blob/master/docs/kubernetes-reliability.md
    2019-10-11
  • Dale
    Master和Slave之间通常维持心跳检测,是slave用来向master报告自己的健康状态的一个机制,或者说是master用来获取slave的健康状态的一个机制。或者借助分布式协调服务,例如zk选举,master和slave节点抢占临时节点。
    2019-10-11
  • 随心而至
    是心跳机制吗?master定时发请求给slave,看看slave是否还活着。
    2019-10-11
收起评论
17
返回
顶部