分布式技术原理与算法解析 / 12周精通分布式核心技术
聂鹏程
智载云帆CTO,前华为分布式Lab资深技术专家
 
  • 课程目录
  • 课程介绍
  • 开篇词 | 四纵四横,带你透彻理解分布式技术

    我将给你一个脉络清晰、四纵四横的分布式核心技术知识体系,并抽取最核心的知识点结合各种场景进行解析。

  • 01 | 分布式缘何而起:从单兵,到游击队,到集团军

    一起了解分布式的起源,即从单机模式到数据并行(也叫作数据分布式)模式,再到任务并行(也称任务分布式)模式。

  • 02 | 分布式系统的指标:啥是分布式的三围

    我们希望自己的系统是高性能、高可用、高扩展和低资源占用的,但考虑到硬件成本、开发效率等,必须有所取舍。

  • 03 | 分布式互斥:有你没我,有我没你

    今天,我们一起学习下分布式互斥的3中基本算法,即:集中式算法、分布式算法,以及令牌环算法。

  • 04 | 分布式选举:国不可一日无君

    今天,我们学习了实现分布式选举的3种方法,即Bully算法、Raft算法和ZAB算法,并通过实例学习了它们的选举流程。

  • 05 | 分布式共识:存异求同

    今天,我和你介绍了分布式在线记账问题中的3种常见共识算法,即:PoW、PoS和DPoS。

  • 06 | 分布式事务:All or nothing

    我与你介绍了分布式事务的三种实现方式,即基于XA协议的二阶段提交方法,三阶段方法以及基于分布式消息的最终一致性方法。

  • 07 | 分布式锁:关键重地,非请勿入

    我介绍了三种实现分布式锁的方法,包括基于数据库实现、基于缓存实现(以Redis为例),以及基于ZooKeeper实现。

  • 08 | 分布式技术是如何引爆人工智能的?

    分布式训练可以将深度学习的训练时间从数周缩短到数小时,极大提升了训练效率,这充分说明了分布式技术的重要性。

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

    我以Borg、Kubernetes、Mesos这三款知名的集群管理系统为例,与你分享了集中式架构的原理。

  • 10 | 分布式体系结构之非集中式结构:众生平等

    今天,我以Akka集群、Redis集群和Cassandra集群的结构为例,与你详细介绍了非集中式架构。

  • 11 | 分布式调度架构之单体调度:物质文明、精神文明一手抓

    今天,我以Borg为例,与你讲述了单体调度架构的设计及调度算法。

  • 12 | 分布式调度架构之两层调度:物质文明、精神文明两手抓

    今天,我以Mesos为例,与你讲述了两层调度的架构设计和资源分配算法。

  • 13 | 分布式调度架构之共享状态调度:物质文明、精神文明多手协商抓

    今天,我以Omega系统为例,为你讲述共享状态调度的架构设计以及工作原理。

  • 14 | 答疑篇:分布式事务与分布式锁相关问题

    留言涉及的问题有很多,但我经过进一步地分析和总结后,发现针对分布式事务和分布式锁的问题比较多,同学们的疑惑也比较多。

  • 15 | 分布式计算模式之MR:一门同流合污的艺术

    今天,我以MapReduce为例,与你讲述了分布式领域中分治法的抽象模型、工作原理和实践应用。

  • 16 | 分布式计算模式之Stream:一门背锅的艺术

    我与你介绍了流计算的工作原理,并分析了Storm的核心组件,以加深你对流计算的理解。

  • 17 | 分布式计算模式之Actor:一门甩锅的艺术

    今天,我与你介绍了分布式计算中,一门甩锅的计算模型,即Actor模型。

  • 18 | 分布式计算模式之流水线:你方唱罢我登场

    今天,我以TensorFlow为例,与你讲述了分布式计算中的流水线计算模式。

  • 19 | 分布式通信之远程调用:我是你的千里眼

    今天,我与你分享了分布式通信中的远程调用,对比分析了RPC和RMI,并分析了Dubbo的工作原理和流程。

  • 20 | 分布式通信之发布订阅:送货上门

    今天,我以Kafka为例,与你详细讲述了发布订阅模式的基本原理和工作机制。

  • 21 | 分布式通信之消息队列:货物自取

    今天,我首先结合用户注册的案例分析了什么是消息队列,然后以RocketMQ为例与你讲述了消息队列的原理和工作机制。

  • 22 | 答疑篇:分布式体系架构与分布式计算相关问题

    今天,我筛选出了分布式系统架构中如何判断节点是否存活,以及四种分布式计算模式的异同,做了进一步展开。

  • 23 | CAP理论:这顶帽子我不想要

    今天,我主要与你分享了什么是CAP理论,以及如何根据自己的场景选择合适的CAP策略。

  • 24 | 分布式数据存储系统之三要素:顾客、导购与货架

    顾客、导购和货架组成了分布式存储系统的三要素,分别对应着分布式领域中的数据生产者/消费者、数据索引和数据存储。

  • 25 | 数据分布方式之哈希与一致性哈希:“掐指一算”与“掐指两算”的事

    基于数据分布设计原则,我分享了哈希、一致性哈希、带有限负载的一致性哈希和带虚拟节点的一致性哈希方法。

  • 26 | 分布式数据复制技术:分身有术

    我为你介绍了数据复制技术的原理及应用,以及同步复制技术、异步复制技术和半同步复制技术这三种方法。

  • 27 | 分布式数据之缓存技术:“身手钥钱”随身带

    我以Redis和Memcached为例,介绍了分布式缓存技术中的关键技术,包括支持的数据存储结构、持久化和数据同步技术。

  • 特别放送 | 分布式下的一致性杂谈

    我主要与你介绍了,分布式一致性的分类、如何满足一致性要求,以及什么情况下要考虑一致性。

  • 28 | 分布式高可靠之负载均衡:不患寡,而患不均

    我与你介绍了常见的负载均衡策略,包括轮询策略、随机策略、哈希和一致性哈希策略。

  • 29 | 分布式高可靠之流量控制:大禹治水,在疏不在堵

    今天,我为你详细介绍了常见的流量控制策略,包括漏桶策略和令牌桶策略。

  • 30 | 分布式高可用之故障隔离:当断不断,反受其乱

    我与你介绍了常见的故障隔离策略,包括线程级隔离、进程级隔离和资源隔离策略。

  • 31 | 分布式高可用之故障恢复:知错能改,善莫大焉

    软件故障主要由程序或软件Bug等导致,通常是开发者在开发或测试时解决,导致软件不可用的物理故障主要是节点故障和网络故障。

  • 32 | 答疑篇:如何判断并解决网络分区问题?

    今天,我将会与你深入探讨网络分区问题,帮助你解决业务场景中的网络分区如何判断,以及如何解决的问题。

  • 33 | 知识串联:以购买火车票的流程串联分布式核心技术

    今天,我就先以购买火车票的流程,带你串联下整个专栏涉及的分布式核心技术吧。

  • 特别放送 | 徐志强:学习这件事儿,不到长城非好汉

    技术学习件事,我希望自己当一回好汉,爬上自己的长城,也祝愿各位小伙伴能爬上自己的长城!

  • 特别放送 | 那些你不能错过的分布式系统论文

    我按照理论到实践的顺序,将分布式系统论文分成了分布式理论基础、分布式一致性算法、分布式数据结构和分布式系统实战四类。

  • 34 | 搭建一个分布式实验环境:纸上得来终觉浅,绝知此事要躬行

    我以搭建Kubernetes集群为例,与你说明搭建一个分布式环境的关键步骤,以及其中可能涉及的分布式核心知识。

  • 结束语 | 为什么说提升职业竞争力要从尊重、诚实开始?

    希望“分布式技术原理与算法解析”专栏带给你的不仅仅是知识,还有学习能力的提升和思维方式的变化。

  • 结课问卷获奖用户名单

    本着“对专栏的改进最有帮助”的原则,我们和聂鹏程老师一起,从中挑选了5位用户,

  • 特别放送 | 崔新:追根溯源,拨开云雾见青天

    直到看到聂老师的开篇词,我豁然开朗,只有追溯到技术的源头,明白它从哪里来要到哪里去,学习起来才能事半功倍。

  • 特别放送 | Jackey:寄语天涯客,轻寒底用愁

    学习专栏,我们不要局限于某个知识点,可以根据文章内容进行二次发散,去学习更多的知识,由点及面,构建自己的核心知识体系。

分布式技术因其高性能、高可用、高扩展等特点,成为AI、区块链、云计算、大数据等众多技术的基石,也因其普适性,在经济性裁员的大背景下,仍然成为各公司中间件团队、实验室等基础部门大规模争抢的人才重地。

与火热的需求相比,优秀的分布式技术人才极度短缺。分布式技术概念繁多、知识庞杂、新兴技术层出不穷,令许多新手望而却步。许多满足一定年限的面试者,虽然也能对一些概念滔滔不绝,但追问到实质性问题就变得磕磕巴巴,故左右而言它。究其原因,主要是:知识碎片化,不成体系,见树不见林。

分布式技术错综复杂,确实无法像网络等技术一样简单明确地划分,因此聂鹏程博士结合自己多年的积累和思考,将首先为你梳理出一个脉络清晰、四纵四横的分布式核心技术知识体系,然后再从中抽取最核心、最普适的技术思想和概念,结合各种适用场景一一解析,帮助你透彻理解并灵活运用这些核心知识点

聂鹏程,西安电子科技大学计算机博士,智载云帆CTO,前后深入研究分布式技术10余年。曾作为华为分布式Lab资深技术专家,负责过分布式IoT相关项目的架构设计,以及电信级业务微服务框架、函数服务框架的设计工作,也从事过区块链相关的研究工作;也曾任职IBM,从事高性能计算相关的设计和研发工作。

课程模块

本课程包括4大模块。

  • 分布式技术之初体验:讲述分布式起源与指标,帮你搞懂分布式的本质,以及不同类型分布式系统的业务目标与特点。
  • 分布式纵向技术线解析:首先,对比讲解分布式互斥、分布式选举、分布式共识等知识点,帮你掌握如何让分布式系统中的不同进程通力协作、具有“团队精神”。然后,结合横向的资源层,对比介绍不同的分布式体系架构,以及任务调度框架,帮你掌握如何在“狼多肉少”的计算机集群里,进行高效的资源管理和任务匹配。最后,通过对负载均衡、流量控制、故障隔离、故障恢复等方法的讲解,帮你掌握常用的分布式可靠性保障手段及原理。
  • 分布式横向技术层解析:首先,对比讲解MapReduce、Actor、Stream等经典计算模式,让你学会如何利用分布式加速自己的业务。接着,对比分析常见的分布式通信技术,帮你理解它们背后的原理,以及如何选型。最后,讲解CAP、数据存储系统三要素、数据分布、数据复制等知识点,帮助你理解并掌握分布式数据管理及访问最基础、最核心的技术。
  • 分布式核心知识串讲:用一个购买火车票的流程,贯串起分布式技术的核心概念和基础知识,让你进一步学会如何体系化地掌握并运用这些知识点。纸上得来终觉浅,最后结合容器技术帮助你搭建一个分布式实验环境,让你理论能与实践相结合,持续催熟自己的分布式知识运用能力。

限时福利