课程简介:
分布式架构是大型项目必用的架构方式,也是云原生、Serverless等新兴技术的底层基石。后端进阶,必然绕不开分布式。但市面的分布式课程鱼龙混杂,造成了不少学习精力的浪费。本课程由慕课网特邀大厂讲师制作,将目前的分布式技术知识进行整合,分为6大知识模块讲解学习,并深度结合案例,将每个细节讲深、讲透,帮助你打通进阶路上的关键脉络,后续学习也更快速。
目录:
-
第1章 课程导学与学习指南2 节 | 13分钟
本章主要对课程进行整体介绍,在学习方法上提出一些建议和指导。
- 图文:1-1 课前必读(不读错过一个亿)
- 视频:1-2 开篇必看-课程导学 (13:00)
-
第2章 硅步千里,分布式理论加强内功修炼22 节 | 103分钟
本章详细介绍了大型互联网系统架构演进的过程,了解在不同阶段所采用的系统架构是怎么样的,遇到的问题以及技术解决方案。然后会学习分布式基础理论CAP理论和BASE理论,为后面课程做一个技术理论铺垫。
- 视频:2-1 分布式理论基础–章节导学 (03:30)
- 视频:2-2 了解中国互联网发展历程 (03:14)
- 视频:2-3 从单机服务到各司其职 (05:42)
- 视频:2-4 引入缓存释放数据库压力 (02:29)
- 视频:2-5 应用集群化部署提升并发能力 (04:30)
- 视频:2-6 数据读写分离分散压力提升性能 (06:02)
- 视频:2-7 引入CDN为前端资源提速 (04:32)
- 视频:2-8 文件和数据进行分布式存储 (03:42)
- 视频:2-9 海量数据检索和数据异构问题 (03:50)
- 视频:2-10 单体应用面临的问题和挑战- (03:27)
- 视频:2-11 开始进行应用拆分和解耦- (03:30)
- 视频:2-12 简单应用拆分引发的问题- (03:32)
- 视频:2-13 服务化架构闪亮登场 (09:15)
- 视频:2-14 运行态和运营态建设不可忽视 (02:37)
- 视频:2-15 详细探究CAP定理的三个指标 (09:35)
- 视频:2-16 CAP定理三个指标如何权衡和选择 (06:07)
- 视频:2-17 从系统架构演进历程总结的设计心得 (05:07)
- 视频:2-18 先对多种一致性一探究竟 (06:12)
- 视频:2-19 详细介绍BASE理论的含义 (04:02)
- 视频:2-20 BASE理论的定位和总结 (02:39)
- 视频:2-21 分布式理论基础–章节小结 (08:50)
- 图文:2-22 本章作业
-
第3章 为快不破,分布式缓存提升系统性能14 节 | 113分钟
本章主要基于Redis这个分布式缓存中间件来进行展开,会重点介绍Redis集成到Spring框架的不同写法,先讲解在Spring框架中引入Redis的基本方法,接着进行优化重构,介绍更优雅和简洁的接入方式,从而让你在项目实战中运用得更好。…
- 视频:3-1 分布式缓存基础章节导学 (03:08)
- 视频:3-2 实战案例基础框架-业务模型介绍 (09:07)
- 视频:3-3 实战案例基础框架-系统逻辑架构 (08:44)
- 视频:3-4 实战案例基础框架-工程代码结构 (13:11)
- 视频:3-5 从幕课网页面了解缓存常见使用场景 (05:29)
- 视频:3-6 以商品为例认识读写缓存的处理流程 (03:36)
- 视频:3-7 Jedis客户端实现查询商品增加缓存逻辑 (15:02)
- 视频:3-8 结合实际场景采用合适的Redis数据结构 (12:10)
- 视频:3-9 从Redis底层去理解不同数据结构的区别 (08:19)
- 视频:3-10 Jedis操作缓存的不足之处及解决方案 (04:13)
- 视频:3-11 使用官方推荐的RedisTemplate工具让缓存操作更优雅 (13:07)
- 视频:3-12 大量重复的缓存逻辑可以借助AOP机制进行抽象和模版化处理 (03:34)
- 视频:3-13 使用Spring框架自带的Cache模块让缓存逻辑更简洁优雅 (13:03)
- 图文:3-14 本章作业
-
第4章 面面俱到,缓存利器方能物尽其用26 节 | 371分钟
本章首先带学员手写一个自定义缓存注解,更加灵活地处理缓存问题。接着介绍了缓存雪崩与缓存穿透,以及对应的技术解决方案。然后课程介绍了强一致性与最终一致性是如何进行取舍,以及介绍了如何使用分布式ID高效生成业务ID。接着课程对比分布式锁的几种实现方式,然后基于Redis的分布式锁并进行项目实践。最后我们介绍了分…
- 视频:4-1 分布式缓存进阶章节–导学 (04:21)
- 视频:4-2 Spring的Cache注解不够灵活应该怎么办? (20:47)
- 视频:4-3 自定义缓存组件–定义缓存注解和切面类 (15:55)
- 视频:4-4 自定义缓存组件–切面类实现通用逻辑 (19:53)
- 视频:4-5 缓存雪崩的三个原因和五种解决方法(一) (10:43)
- 视频:4-6 缓存雪崩的三个原因和五种解决方法(二) (06:39)
- 视频:4-7 引入RateLimiter限流防止缓存雪崩(一) (17:36)
- 视频:4-8 引入RateLimiter限流防止缓存雪崩(二) (16:08)
- 视频:4-9 结合慕课网课程详情页分析缓存穿透 (06:55)
- 视频:4-10 详解BloomFilter及其算法工作流程 (10:12)
- 视频:4-11 详细演示BloomFilter逻辑的三种方法 (18:08)
- 视频:4-12 把BloomFilter逻辑增加到自定义注解 (06:37)
- 视频:4-13 分析高并发场景下缓存数据一致性难题 (07:20)
- 视频:4-14 三种缓存架构和三种缓存访问模式 (08:21)
- 视频:4-15 保证数据一致性的多种策略及优缺点(一) (05:13)
- 视频:4-16 保证数据一致性的多种策略及优缺点(二) (18:16)
- 视频:4-17 结合业务场景分析分布式锁的特性和作用 (25:26)
- 视频:4-18 数据库和Redis实现锁的方案及其优缺点 (21:26)
- 视频:4-19 基于Redis实现真正高可用的锁–RedLock (15:15)
- 视频:4-20 观摩一下大神们对高可用分布式锁的争论 (23:50)
- 视频:4-21 多种分布式ID方案并基于Redis实现订单流水号 (22:30)
- 视频:4-22 面试题–Redis集群数据是如何存储的 (20:43)
- 视频:4-23 面试题–Redis集群hash slot的工作机制 (06:13)
- 视频:4-24 面试题–分布式一致性Hash算法的推演过程 (20:22)
- 视频:4-25 分布式缓存进阶–章节总结 (21:14)
- 图文:4-26 本章作业
-
第5章 齐心协力,保障多节点事务单元有序一致5 节 | 51分钟
本章从一个生活化的场景,王者荣耀手游中的一个场景为例,分析分布式微服务环境下多个服务之间要达成共识会存在的问题,以此引出分布式事务的二阶段提交协议和三阶段提交协议,从而更好地理解分布式事务的本质。
- 视频:5-1 分布式事务原理章节导学 (05:24)
- 视频:5-2 英雄打龙场景的分布式事务问题与二阶段协议 (22:01)
- 视频:5-3 二阶段提交的缺陷与三阶段提交的改善与不足 (17:41)
- 视频:5-4 分布式事务原理–章节总结 (05:43)
- 图文:5-5 本章作业
-
第6章 神兵利器,框架和组件助力理论落地14 节 | 200分钟
本章介绍一个开源的分布式事务解决方案,就是阿里的Seata框架。然后详细介绍了AT模式,XA模式,TCC模式,SAGA模式。同时也介绍了另外一种可以替换Saga模式的更加常见的事务模式,基于消息机制解决分布式事务。
- 视频:6-1 初识Seata框架并理解分布式事务的目标 (14:17)
- 视频:6-2 Seata AT模式三个重要角色的作用及交互过程 (13:17)
- 视频:6-3 Seata AT模式服务端的部署及客户端的接入 (18:52)
- 视频:6-4 结合商城下单场景下分析Seata AT模式流程 (16:51)
- 视频:6-5 全景图对Seata AT模式的运行流程梳理总结 (14:03)
- 视频:6-6 XA协议的主要内容、角色作用及运行示例 (12:16)
- 视频:6-7 解析Seata XA模式并与AT模式进行对比总结 (16:17)
- 视频:6-8 分析TCC模式及优惠券核销场景下的实现思路 (09:32)
- 视频:6-9 TCC模式实现优惠券核销功能并总结其设计要点 (11:51)
- 视频:6-10 解析Saga模式并与TCC模式进行对比和总结 (18:20)
- 视频:6-11 本地消息表解决下单送积分的分布式事务问题 (22:09)
- 视频:6-12 消息中间件解决下单送积分的分布式事务问题 (18:48)
- 视频:6-13 分布式事务实战章节总结 (12:50)
- 图文:6-14 本章作业
-
第7章 统筹全局,分布式协调服务掌控协同难题8 节 | 84分钟
本章首先是了解ZooKeeper在分布式架构中的意义,了解ZooKeeper它产生的一个背景。接着我们会学习ZooKeeper的基本使用,最后我们会简单分析一下ZooKeeper的实际应用场景,介绍它在大型分布式系统中,作为一个重要的中间件是如何应用的。…
- 视频:7-1 分布式协调服务基础章节导学 (02:32)
- 视频:7-2 ZooKeeper诞生的背景和它的重要作用 (15:26)
- 视频:7-3 ZooKeeper单机版的安装与常用操作命令 (17:28)
- 视频:7-4 ZooKeeper在Java工程中的接入和使用 (17:35)
- 视频:7-5 从原生API来认识ZooKeeper的运行机制 (15:43)
- 视频:7-6 ZooKeeper的典型应用场景与其实现思路 (11:00)
- 视频:7-7 分布式协调服务基础–章节总结 (04:00)
- 图文:7-8 本章作业
-
第8章 见微知著,深入理解ZooKeeper的底层机制6 节 | 74分钟
本章对ZooKeeper技术原理进行剖析,首先是zookeeper的数据模型,接着介绍zookeeper的会话机制,接着介绍watche监听机制,最后一部分我们将对ZooKeeper的一些重要特性做一个简单的总结。
- 视频:8-1 分布式协调服务原理–章节导学 (03:58)
- 视频:8-2 ZooKeeper数据模式及ZNode节点的特性 (22:29)
- 视频:8-3 从源码分析Zookeeper Session的运行机制 (21:40)
- 视频:8-4 演示并解析Zookeeper Watch机制的运行流程 (12:31)
- 视频:8-5 Zookeeper的五个重要特性的分析和总结 (05:05)
- 视频:8-6 分布式协调服务原理–章节总结 (07:59)
-
第9章 运筹帷幄,一致性与可用性的权衡之道17 节 | 207分钟
本章首先使用Zookeeper如何来实现配置中心的功能,然后重点介绍如何使用ZooKeeper使用它来实现分布式锁并对比前面Redis版分布式版。接着介绍Zookeeper它在集群模式下,是如何去保证可用性和一致性的,然后本章剖析了ZAB协议和Paxos算法。…
- 视频:9-1 分布式协调服务实战–章节导学 (04:31)
- 视频:9-2 Zookeeper实现配置中心的方案和代码解析 (14:20)
- 视频:9-3 Zookeeper分布式锁(临时节点+watch)原理 (12:21)
- 视频:9-4 ZooKeeper分布式锁(临时节点+watch)代码 (21:06)
- 视频:9-5 ZooKeeper分布式锁解决惊群效应的方案原理 (07:19)
- 视频:9-6 ZooKeeper分布式锁解决惊群效应的代码实现 (17:15)
- 视频:9-7 ZooKeeper集群的概念、节点角色和原理解析 (12:46)
- 视频:9-8 ZooKeeper集群的部署和配置演示 (16:33)
- 视频:9-9 ZooKeeper集群处理数据的流程及及一致性保障 (15:10)
- 视频:9-10 ZooKeeper集群可用性保障–Leader选举原理 (13:58)
- 视频:9-11 ZooKeeper集群可用性保障–Leader选举案例 (08:24)
- 视频:9-12 Zookeeper的ZAB协议及其ZAB协议及其zxid设计技巧 (06:54)
- 视频:9-13 分布式一致性算法Paxos–算法的背景和目标 (12:43)
- 视频:9-14 分布式一致性算法Paxos–概念和流程解析 (08:40)
- 视频:9-15 分布式一致性算法Paxos–案例解析和总结 (16:05)
- 视频:9-16 分布式协调服务实战章节小结 (18:55)
- 图文:9-17 本章作业
-
第10章 攻守兼备,高并发场景下系统的坚固护盾28 节 | 254分钟
本章首先会讲解四种场常见的限流算法,分别是计数器限流、滑动窗口限流、漏桶算法,还有令牌桶算法。接着会介绍与限流技术密切相关的信号量、线程池等等。最后面会重点介绍在分布式环境下的一个限流神器,也就是阿里的Sentinel限流框架。…
- 视频:10-1 分布式限流–章节导学 (08:12)
- 视频:10-2 经典限流算法解析–计数器限流算法 (04:48)
- 视频:10-3 经典限流算法解析–滑动窗口限流算法 (13:53)
- 视频:10-4 经典限流算法解析–漏桶限流算法 (12:13)
- 视频:10-5 经典限流算法解析–令牌桶算法 (12:13)
- 视频:10-6 详解RateLimiter(一):创建令牌桶和消费令牌 (08:42)
- 视频:10-7 详解RateLimiter(二):预消费令牌的处理流程 (10:58)
- 视频:10-8 详解RateLimiter(三):突发和预热该如何选择 (11:10)
- 视频:10-9 详解RateLimiter(四):阻塞和非阻塞如何选择 (06:54)
- 视频:10-10 RateLimiter对领取优惠券接口限流 (05:50)
- 视频:10-11 RateLimiter+注解+AOP实现低入侵限流组件 (08:55)
- 视频:10-12 低入侵限流组件的使用和效果演示 (04:38)
- 视频:10-13 初识Sentinel–分布式系统的流量防卫兵 (10:23)
- 视频:10-14 Sentinel–核心模块快速接入三步曲 (12:24)
- 视频:10-15 Sentinel–通过代码定义资源和限流规则 (15:24)
- 视频:10-16 Sentinel–通过注解定义资源和降级规则 (14:47)
- 视频:10-17 Sentinel–控制台接入 (03:52)
- 视频:10-18 资源隔离之线程池隔离和信号量隔离 (05:37)
- 视频:10-19 初识信号量–多线程并发同步工具 (03:58)
- 视频:10-20 Semaphore–详细解析API (12:43)
- 视频:10-21 Semaphore–通过代码演示运行效果 (11:50)
- 视频:10-22 Semaphore–结合AQS分析其实现原理 (10:22)
- 视频:10-23 初识线程池–池化技术提升系统效率 (04:40)
- 视频:10-24 Java线程池框架核心概念 (07:58)
- 视频:10-25 详解ThreadPoolExecutor运行流程(一) (13:49)
- 视频:10-26 详解ThreadPoolExecutor运行流程(二) (07:29)
- 视频:10-27 ThreadPoolExecutor使用建议 (09:33)
- 图文:10-28 本章作业