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

开篇词 | 四纵四横,带你透彻理解分布式技术

讲述:聂鹏程大小:9.57M时长:10:27
课程内容
教学思路
学习计划
经验背景
学习需求
人才需求
技术发展
应用场景
重要性
作者聂鹏程
分布式技术
参考文章

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

你好,我是聂鹏程,智载云帆的 CTO。在接下来的三个月时间里,我将带你打卡分布式技术。
在众多计算机技术当中,分布式技术无疑是最璀璨的明珠之一。毫不夸张地说,没有分布式技术就没有互联网,也就没有现在的阿里巴巴、腾讯、亚马逊、Facebook、谷歌等科技巨头,更不会有以信息技术为核心的、对人类历史产生巨大变革的第三次工业革命。万维网、Email、DNS 等,都是分布式系统的典型代表。
随着分布式技术的不断发展,它也早已不再局限于传统的互联网等应用场景。在今年的两会期间,全国政协委员、360 董事长周鸿祎更是大唱 I’M ABCDE 字母歌。IMABCDE 这 7 个字母所代表的 IoT 物联网、Mobile 移动计算、AI 人工智能、Blockchain 区块链、Cloud 云计算、Data 大数据、Edge 边缘计算,也无不都是以分布式技术为基石。
无疑,谁更好地掌握了分布式技术,谁就更容易在新一轮技术浪潮中获得主动。在全球经济增速趋缓的大背景下,与许多应用业务大量裁人形成鲜明对比的是,各大巨头的中间件团队、实验室等基础部门,依然在大规模地招兵买马。随着业务扩展,以及 IMABCDE 等新兴技术领域的布局,分布式技术人才已然成为巨头们争夺的焦点。
一方面是各大厂商的求贤若渴,一方面是分布式专业技术人才的一将难求。在多年的面试中,我经常能体会到,有些面试者确实非常积极主动,但他们表现出来的水平却无法通过面试。分布式技术人才市场的供应与需求,俨然一首冰与火之歌。
2007 年,我在西安电子科技大学攻读博士期间,就开始研究并行与分布式计算;毕业后,在 IBM 做过 HPC 大规模负载管理系统 LSF 相关的设计和研发工作,在华为负责过分布式 IoT 相关项目的架构设计,以及电信级业务微服务框架、函数服务框架的设计工作,也从事过区块链相关的研究工作。现在,我在智载云帆负责技术体系的构建,专注于无服务器 Serverless 的架构实践。
从我深入研究分布式技术这十多年的经验来看,分布式技术概念繁多、知识庞杂、新兴技术层出不穷,令许多新手望而却步,而许多有一定年限工作经验的老手,虽然也能对一些概念滔滔不绝,但追问到实质性问题就变得磕磕巴巴,顾左右而言它。比如:
各种分布式概念、名词学了一大堆,但经常张冠李戴,傻傻分不清楚;
做了多年技术,也参与了很多分布式技术实践,却无法回答工作中各种分布式技术、组件、框架选型背后的根源;
在一个分布式技术配套的典型场景往往能驾轻就熟,但一旦稍微变更考察业务场景、业务目标后,就变得毫无头绪。
究其原因,主要是知识碎片化、不成体系、见树不见林。如果再追究更深层次的原因,那无外乎就是两点:
在计算机学科课程设置中,分布式技术尴尬如同中小学中的性教育,重要但不受重视。鲜有高校在计算机本科专业中设置分布式课程,即便是有些高校在研究生教育中设置了相关课程,也是如同高手过招点到为止。
信息碎片化与信息孤立。在信息泛滥的信息时代,各种经典教材、最新文章自然是唾手可得。但,教材固然经典但严谨有余浅出不够,最重要的是没有与时下最新的场景相结合,一方面是因为教材“年久失修”,另一方面确实是因为分布式领域新技术推出的速度令人叹为观止;而网上的各种技术文章虽然多,却鲜有体系化的说明,一个个概念如同一座座信息孤岛。如果不能体系化地理解这些概念,何谈掌握,更谈不上真正地去综合运用这些知识了。
因为工作太忙,这些年我整体而系统的输出比较少。偶然一次听到任正非的讲话,他提到了基础教育、孩子是一个社会的未来,这让我感触良多。我想,如果说一个社会的未来,离不开朝气蓬勃的孩子们,那么一个行业的兴盛,同样也离不开一个广泛的从业者基础。而我如果能做好分布式通识课这样的一个专栏,既可以对自己这些年的经验做一次系统梳理,温故而知新,又能帮助更多的人系统理解并掌握分布式核心技术,为整个行业的兴盛略尽绵薄之力,何乐而不为呢?
其实,在工作、面试、演讲等多种场合,也经常会有人问我:“聂博士,分布式领域的新概念繁多、各种框架五花八门、各种组件层出不穷,应该如何应对啊?”我回答说:“其实你已经有答案了。”
看着他们满脸疑惑,我笑着问:“RISC 芯片,程序设计中的封装、继承,还有现在提倡的中台战略,它们都在做一件什么事情呢?”他们答道:“莫非是重用?”
我说:“是的,既然指令可以重用,代码可以重用,技术、业务、数据等都可以重用,为什么知识体系不可以呢?学好分布式通识课,掌握了分布式的核心技术、体系,你就会发现很多新技术、新框架、新组件只不过是‘新瓶装旧酒’,将分布式核心技术进行了再包装、再组合,至多也就是做了一点延伸而已。”
那么,分布式通识课究竟该如何学呢?在接下来的三个月时间里,我会遵循以下 4 个思路带着你一起学习。
第一,分布式技术错综复杂,各种技术相互耦合,确实无法简单地像网络等技术一样划分层次,所以我会结合自己多年的积累和思考,首先为你梳理出一个脉络清晰、四纵四横的分布式核心技术知识体系,然后从这个纵横的技术体系中抽取最核心、最普适的技术思想以及概念,结合各种适用场景一一解析。这样的设计,旨在帮助你找到核心知识点,并将这些知识点联系起来,快速形成分布式核心技术的知识网络,从而形成自己的技术判断力,进而规划出自己的技术路线。
第二,从一个熟知的事物出发,进行浅出的讲解,帮助你从已有知识体系扩展到新的知识体系,从而迅速、牢固地掌握分布式技术的核心知识点。
第三,透过表象深入讲解技术本质,而不是 case by case 地讲解,帮助你知其然并知其所以然,真正做到理解与运用时的举一反三。
第四,针对同一分布式问题的不同方法,从多维度、多角度进行对比、分析,方便你在工作中灵活选型,避免重复“造轮子”。你甚至可以综合权衡各种方法的优缺点,提炼发明出新的方法,最终做到活学活用。
讲到这里,你是不是也有点摩拳擦掌、跃跃欲试了呢?“分布式世界这么大,我要去看看!”别慌,请先看完这份技术地图。
首先,按照业务的架构层次栈,我自底向上按照资源、通信、数据与计算的维度,梳理出了 4 个技术层次:分布式资源池化、分布式通信、分布式数据存储与管理、分布式计算。这样的划分符合业务架构设计的一般规律,“在一定资源上,进行一定通信,通过一定计算,完成一定数据的加工和处理,从而对外提供特定的服务”。另一方面,这样的划分也整合了零散的知识点,具有完备性。
既然横向的 4 个层次都已经完备了,那为什么又多出了 4 个纵向的技术呢?如果我们把横向的 4 个层次比作派生类的话,那么纵向的 4 条技术线应该是它们的基类。因为,在分布式环境下,无论是资源、通信、数据还是计算,都需要去解决协同、调度、追踪高可用,还有部署的问题。因此,我从横向的技术层次中,提炼出分布式协同、分布式调度、分布式追踪与高可用、分布式部署 4 个纵向技术线。由于分布式追踪、分布式部署虽属于支撑技术,但并不会影响业务的构成,因此我不会在本专栏中进行讲解。
最后,如果说现在分布式领域里各种包装出来的、五花八门的新技术,像是令人高不可攀的女神、男神的话,那么这个分布式通识课程中所提炼出来的体系和核心知识点无疑就是女神、男神素颜的样子。我想说,等你看尽素颜,无论是女神、男神也好,还是各种高大上的技术也好,也就不会觉得那么高不可攀了。
既然你已经看到了这里,相信你也看到了学习分布式技术知识的迫切需求,那么不妨请你在留言区做个自我介绍,给我说说你的困惑,也说说你想通过这个专栏收获些什么,这样我后续也可以根据你的情况进行有针对性的讲解。
我是聂鹏程,今天的内容就到这里了,我们下一讲再会。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

分布式技术是当今计算机领域中的重要技术之一,支撑着互联网的发展并成为新兴技术领域的基石。作者聂鹏程将在接下来的三个月带领读者深入理解分布式技术,从四个思路出发,帮助建立分布式核心技术的知识网络,形成技术判断力并规划技术路线。他将以浅出的方式帮助读者迅速掌握分布式技术的核心知识点,并深入讲解技术本质,帮助真正理解并运用所学知识。通过本文,读者将能够快速了解分布式技术的核心概念和技术体系,为在这一领域的学习和实践奠定坚实基础。文章提炼出分布式协同、分布式调度、分布式追踪与高可用、分布式部署四个纵向技术线,帮助解决协同、调度、追踪高可用和部署问题。作者鼓励读者在留言区做自我介绍,分享困惑和期望收获,以便进行有针对性的讲解。

2019-09-2357人觉得很赞给文章提建议

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

全部留言(102)

  • 最新
  • 精选
  • 而立斋
    想达到的第一个目标就是:在跟别人聊分布式的时候,有话可说,有深度的话可说,有体系深度的话可说。第二个目标就是:在实际的工作中能够运用自己对分布式的理解做出更好的选型,更好的架构,同时让自己更好的进步。今年32岁,我渴望知识,渴望突破,更渴望成长!

    作者回复: 我发现现在技术圈存在一种怪相,很多从业者都觉得做技术就是吃青春饭,甚至一些所谓的大V也在社交媒体上助长这种观念。 商品市场上从来不缺普通的产品和服务,缺的是有竞争力的、有差异化的产品和服务。我觉得人才和商品是一样的,人才市场上也从不缺普通的求职者,缺的是有竞争力的、有差异化的人才。 很高兴你没有存在这种技术是吃青春饭的误区!相信只要你肯学习、积极进取,把自己的积累做广做深,没有人能阻止得了你前进和上升的步伐。It's never too late to learn. 加油!

    2019-09-23
    14
    137
  • 贤蛋蛋
    即将毕业,在阿里实习,遇到了各种各样的中间件,希望能好好学习这门课,把工作学习中的知识构建到自己的体系结构中

    作者回复: 相对同龄人,你无论是履历还是学习意识,都已经赢在起跑线上了!加油!

    2019-09-24
    29
  • 静水流深
    老师,我觉得我很笨,学习啥都很慢,比如有些算法问题,我都仔仔细细的想好多为什么,有时候觉得高手就是太聪明,写得代码那么优秀!别人为什么学得那么快?内心着急,但是我也不甘放弃。

    作者回复: 我们在战场上可以看到非常典型的两种兵种,机枪兵还有狙击兵,一个快一个慢。其实很多时候快是一方面,准又是另一方面! 积跬步,而终至千里!加油!

    2019-09-28
    5
    28
  • djfhchdh
    这个知识体系总结的很好啊

    作者回复: 谢谢!宝剑赠英雄,红粉赠佳人!

    2019-09-24
    2
    17
  • 老男孩
    浮生有梦三千场,穷尽千里诗酒荒,徒把理想倾倒,才见此专栏。相见恨晚啊!

    作者回复: 人生最难的是等待,而最美的是有值得等待的东西!

    2019-09-24
    12
  • oush
    目前工作是做大数据方面的开发,各种技术框架层出不穷,如:spark、flink、hadoop等,想了解其底层的基本知识,希望本课程能学习到这些东西。

    作者回复: 你说的就属于我在文中提到的IMABCDE中的D(Data大数据)的范畴,大数据当然也是以分布式技术为基石,常用的分布式核心技术,比方说分布式数据存储、分布式计算、分布式协同等都会用到。与之相关的技术应用,我也会在后续文章中进行展开讲解。

    2019-09-23
    2
    12
  • AKA三皮
    工作中使用eureka作为服务注册中心,然后就接触到CAP理论,进而想去理解CP、AP分布式项目的差异,比如zookeeper,etcd,然后又发现必须去了解各种一致性协议,zk的zab,etcd的raft。

    作者回复: 你所关心的这些内容都是本专栏会讲到的,敬请关注后续更新。只要你一直怀揣这种永不止步、积极探索的精神,想不进步都是不可能的!加油!

    2019-09-23
    10
  • allean
    希望通过这个专栏可以入门分布式

    作者回复: 我做这个专栏的初衷就是:通过划重点、寻路线、建体系,帮助更多的人打通分布式技术任督二脉,并提升职业竞争力

    2019-09-23
    9
  • Louris
    研究生在读,现在课题组是分布式机器学习系统,希望多了解分布式知识,有个整体概念,方便后面深入学习。

    作者回复: 研究生阶段就有这样的体系化意识实属难能可贵!加油!

    2019-09-24
    8
  • ???
    哈哈,分布式的大门向我打开了

    作者回复: God helps those who help themselves. 加油!

    2019-09-23
    8
收起评论
显示
设置
留言
99+
收藏
99+
沉浸
阅读
分享
手机端
快捷键
回顶部