如果你已经能写 CRUD,也用过 Spring Cloud 那一套注解,但一被问到「注册中心挂了服务还能不能发现彼此」「Redis 跨机房怎么做双写」「数据库主从切换那一瞬间请求打到哪」,就开始含糊其辞——那这套内容基本就是冲着这个缺口来的。它不是带你从头学 Java,也不是给你讲一遍「什么是分布式」的科普,而是把分布式系统里几个最容易在真实故障中暴露问题的位置,一个个拆开,讲清楚设计动机、实现方式和优化取舍。整块内容跨度很大,从分布式理论基础到共识算法的落地,再到多活架构的组件级改造,属于那种你可以在不同阶段反复回来翻的材料。

这门课要解决的是「会用但说不清、能跑但扛不住」的问题

很多人对分布式框架的掌握停在配置层面:Nacos 地址填对、Seata 注解加上、Ribbon 换个策略,功能就跑起来了。但一旦被追问底层,比如 CAP 在具体组件里是怎么做取舍的、BASE 到底牺牲了什么、Raft 和 ZAB 在日志复制上的差别在哪,答案往往就变成「大概是保证一致性吧」。这门内容的第一层价值,就是把这些模糊地带补实。它从 CAP 与 BASE 讲起,然后进入原子广播和日志复制的共识算法,把 ZAB、Raft 的论文思路和 SOFAJRaft 这样的实现对照着看,再落到 Nacos 的 Distro 和 Raft 运用上。你会发现,之前背过的那些名词,其实是能串成一条线的。

第二层价值更贴近生产。本地事务、JTA/XA、Seata 这几块连起来看,是把「一个请求写多个库」这件事的几种解法摆在一起比较:本地事务的边界在哪、XA 的两阶段提交为什么慢、Seata 的架构又做了什么妥协。学到这里你应该能回答:什么样的业务场景适合哪种方案,为什么不能无脑上分布式事务。这种判断力,比会用一个框架重要得多。

适合什么基础,先补哪几块

起步的前提是 Java 和 Spring 生态要有基本手感,至少写过基于 Spring Cloud 的服务注册与调用,能看懂 Dubbo 的接口配置,知道 MySQL 主从、Redis 主备这些概念大概是怎么回事。如果你连 Eureka、Gateway 都没碰过,直接跳到多活那部分会很吃力,因为多活那一整块是建立在「单机房版本来就跑得通」的前提上做改造的,你得先知道正常长什么样,才看得懂改造改了哪。

建议的进入顺序是先理论后实现。第一阶段先把 CAP/BASE、ZAB、Raft 这几节过一遍,配合共识算法的那节巩固,目的是建立词汇表和思维框架;第二阶段看模式与设计实现,重点放在 Nacos 的两种算法运用、RPC 微内核设计、读写分离和配置客户端设计上,这些是你后面自己搭组件时会直接借用的思路;第三阶段再进多活架构,从架构基础开场,然后顺着 Eureka Server、Eureka Client、服务注册与发现通用设计这条线往下走。这条顺序不是唯一解,但能避免你在还没理解注册中心原理时就去啃多活改造细节。

如果你时间紧,只想解决手头的具体痛点,也可以按问题索引:注册相关问题看 Eureka 那几节和 Cloud-Native 通用设计;流量入口看 Gateway 和 LoadBalancer、Ribbon;数据层看 MySQL Server 多活、JDBC 多活和动态 JDBC 组件;缓存看 Redis 的 Client 与 Server 两层多活;微服务调用看 Dubbo 多活。每一块都是独立成节的,跳着看不会断片。

多活架构这条主线,到底在改造什么

多活这个词容易被说得很玄,但落到代码上,它其实是把「一个只会连本机房组件」的客户端,改造成「知道有多个机房、能按策略选一个、出问题能切」的客户端。你看它的切入点就明白了:Eureka Server 多活、Eureka Client 服务注册与服务发现多活、Spring Cloud 服务注册与发现的通用设计与实现、Cloud-Native 那一层的通用方案。这是一条从具体实现抽象到通用能力的路径——先解决 Eureka 的问题,再把它抽成任何注册中心都能套用的模式。学完这一段,你应该能独立回答:服务注册的多活和负载均衡的多活,边界是怎么划的。

再往下,负载均衡有 Ribbon 和 LoadBalancer 两代方案的对比,网关有 Gateway 的多活实现与优化,调用层有 REST Client 和 Dubbo 两条线,数据层有 MySQL Server 端和 JDBC 客户端两侧的多活,缓存有 Redis Client 和 Redis Server 两侧的多活。最后收在动态 JDBC 组件和动态 Spring 组件上——这两节其实是把前面所有改造中「怎么在不重启的前提下动态切换数据源和 Bean」这个共性难题单独拎出来解决。这条线走完,你手里会有一套还算完整的组件级多活改造方法论,而不是零散的知识点。

学完能独立做什么,以及资料怎么用

比较务实的预期是:你能独立设计并实现一个面向多机房的注册与调用链路,包括注册中心的多活部署、客户端的多机房感知、负载均衡的机房亲和策略、以及网关层的流量调度;你能给现有的数据访问层加上机房维度的路由和故障切换,能说清 MySQL 和 Redis 在客户端侧和服务端侧做多活各自的代价;你能借助 RPC 微内核和配置客户端的思路,自己搭一个小型基础设施组件,而不是每次都依赖现成框架。配套的分布式事务和共识算法部分,则让你在做这些设计时有理论对照,不至于凭感觉拍脑袋。

使用上的建议是:这批量很大,不要想着一次刷完。按小节推进,每看完一节,试着不看视频把那一节的设计思路默写一遍——比如「Eureka Client 多活要注意哪几个点」,写不出来就说明还没消化。理论部分配合论文导读一起看,动手部分建议在自己机器上至少跑通一条链路,把注册和调用的多机房行为用日志验证一遍。共识算法和 Nacos 那几节,可以拿它当查漏补缺的索引,工作中遇到概念模糊了再回来定位,比从头顺看效率高。多活那部分内容尤为适合在项目里遇到跨机房问题前先过一遍,带着真实问题去看,吸收会快很多。

说到底,这套材料的定位是「给已经上路的人补地基」。你会用不代表你懂,能跑不代表扛得住,把这里面的设计动机和取舍想清楚,下次系统在凌晨出问题的时候,你至少知道该往哪个方向查。

课程目录

📁 4. 第四期 Java 分布式架构 - 异地多活架构
19.第十五节:Redis Client 多活架构.mp4  [1.8 GB]
16.第十二节:Spring Cloud Gateway 多活架构优化.mp4  [1.2 GB]
6. 第四节:Eureka Client 服务注册多活架构设计、实现与优化.mp4  [1.8 GB]
18.第十四节:MySQL JDBC 多活架构设计与实现.mp4  [1.5 GB]
9. 第五节(加餐):Spring Cloud 服务注册与发现多活架构通用设计与实现.mp4  [1.3 GB]
13.第九节:Spring REST Client 多活架构设计与实现.mp4  [1.5 GB]
10.第六节:Cloud-Native 服务注册与发现多活架构通用设计与实现.mp4  [1.6 GB]
12.第八节:Spring Cloud LoadBalancer 负载均衡多活架构设计与实现.mp4  [1.5 GB]
4. 第二节:优化 Eureka Server 多活架构.mp4  [1.4 GB]
3. 第一节:Eureka Server 多活架构设计与实现.mp4  [2.0 GB]
8. 第五节:Spring Cloud 服务注册与发现多活架构通用设计与实现.mp4  [1.3 GB]
7. 第四节(加餐):Eureka Client 服务注册多活架构设计、实现与优化.mp4  [1.7 GB]
15.第十一节:Spring Cloud Gateway 多活架构设计与实现.mp4  [1.8 GB]
2. Java 分布式架构 - 多活架构 架构基础.mp4  [1.5 GB]
17.第十三节:MySQL Server 多活架构实现.mp4  [1.5 GB]
1. Java 分布式架构 - 多活架构 开营直播.mp4  [1.8 GB]
11.第七节:Spring Cloud Netflix Ribbon 负载均衡多活架构设计与实现.mp4  [1.8 GB]
21.第十九节:动态 JDBC 组件多活架构.mp4  [1.5 GB]
14.第十节:Apache Dubbo 多活架构实现.mp4  [1.6 GB]
22.第十六节:Redis Server 多活架构.mp4  [1.4 GB]
5. 第三节:Eureka Client 服务发现多活架构设计、实现与优化.mp4  [1.8 GB]
22.第二十节:动态 Spring 组件多活架构.mp4  [1.3 GB]
📁 2. 第二期 Java 分布式架构 - 模式、设计与实现
18.第十三节:Java EE 本地事务管理原理和实现.mp4  [1.1 GB]
25.第二期 :Alibaba Seata 架构和原理(下).mp4  [1.2 GB]
02.课程开营.mp4  [970.1 MB]
20.第十五节:JTA 和 XA 原理与实现实现.mp4  [1.2 GB]
01.课程规划.mp4  [1.5 GB]
16.第十二节:Apache Zookeeper 共识算法的运用.mp4  [1.4 GB]
12.第八节:Alibaba Nacos 2.x Distro 算法的运用.mp4  [1.1 GB]
17.[第一阶段巩固] 分布式共识算法.mp4  [1.1 GB]
03.第一节:CAP 与 BASE 理论.mp4  [788.2 MB]
06.第三节(加餐):日志复制共识算法 - Raft 论文导读(下).mp4  [1.6 GB]
26.第二十一节:RPC 微内核设计.mp4  [1.1 GB]
30.第二十五节:通用数据读写分离设计.mp4  [1.3 GB]
07.第四节:原子广播共识算法 - ZAB 论文导读(上).mp4  [1.5 GB]
09.第二期 第五节:日志复制共识算法实现 - SOFAJRaft.mp4  [985.9 MB]
29.第二十四节:分布式配置客户端设计.mp4  [1.0 GB]
11.第七节:Alibaba Nacos 2.x Raft 共识算法的运用.mp4  [998.6 MB]
21.第十六节:Java 分布式事务整合.mp4  [1.5 GB]
22.第十七节:可靠事件队列分布式事务原理和实现.mp4  [1.4 GB]
33.第二十八节:分布式缓存实战.mp4  [1.3 GB]
13.第九节:Zookeeper 数据模型.mp4  [1.1 GB]
27.第二十二节:RPC 生态整合.mp4  [1.2 GB]
19.第十四节:Spring 本地事务管理原理和实现.mp4  [1.5 GB]
05.第三节:日志复制共识算法 - Raft 论文导读(上).mp4  [1.2 GB]
04.第二节:分布式共识算法 - Paxos.mp4  [608.0 MB]
10.第二期 第六节:SOFAJRaft 架构与实现.mp4  [985.7 MB]
15.第十一节:Apache Zookeeper 共识算法的实现.mp4  [1.1 GB]
23.第十八节:TCC(Try-Confirm-Cancel) 分布式事务原理和实现.mp4  [1.4 GB]
32.第二十七节:分布式缓存设计.mp4  [1.2 GB]
31.第二十六节:基于 ShardingSphere 实现数据分片和读写分离.mp4  [1.0 GB]
24.第十九节:Alibaba Seata 架构和原理(上).mp4  [1.1 GB]
08.第四节(加餐):原子广播共识算法 - ZAB 论文导读(下).mp4  [1.4 GB]
14.第十节:Zookeeper 通讯与会话.mp4  [934.4 MB]
28.第二十三节:分布式配置中心设计.mp4  [1.2 GB]
📁 3. 第三期 Java 分布式架构 -  高并发、高性能与高可用 课程规划
01-课程规划.mp4  [2.3 GB]
20-第十三节“高并发、高性能与高可用”API网关.mp4  [2.7 GB]
18-第十一节“高性能、高可用”分布式事件.mp4  [2.0 GB]
29-加餐七GraalVM基础.mp4  [2.3 GB]
34-加餐八现代Java发展与变化.mp4  [396.5 MB]
30-第十九节“高并发、高性能与高可用”日志平台.mp4  [1.3 GB]
32-第二十一节“高并发、高性能与高可用”SprngNatve应用.mp4  [1.4 GB]
09-第五节“高可用”Eureka服务注册与发现.mp4  [2.4 GB]
13-第九节“高可用”MySQL数据库.mp4  [2.1 GB]
04-优化计划.mp4  [1.8 GB]
33-第二十二节“高并发、高性能与高可用”JavaNatve应用.mp4  [1.9 GB]
07-服务容器调优.mp4  [2.3 GB]
24-加餐五Dubbo内核设计与实现.mp4  [2.8 GB]
10-第六节“高性能”EurekaServer架构.mp4  [2.9 GB]
08-第四节高可用微服务架构升级.mp4  [2.1 GB]
19-第十二节“高并发”Reactve异步服务.mp4  [1.8 GB]
12-第八节“高并发、高可用”RPC架构升级.mp4  [1.9 GB]
15-加餐一SprngWebReactve.mp4  [2.0 GB]
17-加餐三小伙伴定制.mp4  [2.0 GB]
25-第十六节“高并发、高性能与高可用”DubboMess.mp4  [2.5 GB]
05-架构优化准备一.mp4  [2.1 GB]
02-课程开营【海量.mp4  [2.2 GB]
16-加餐二分布式事件设计.mp4  [1.8 GB]
22-第十五节“高并发、高性能与高可用”Isto.mp4  [1.9 GB]
14-第十节“高并发、高性能”数据存储】.mp4  [2.8 GB]
26-第十七节“高并发、高性能与高可用”配置中心-Nacos.mp4  [1.9 GB]
27-第十八节“高并发、高性能与高可用”配置中心-etcd.mp4  [2.4 GB]
31-第二十节“高并发、高性能与高可用”监控平台.mp4  [1.5 GB]
28-加餐六“高并发、高性能与高可用”分布式配置客户端实现.mp4  [1.9 GB]
06-架构优化准备二.mp4  [1.4 GB]
11-第七节“高并发、高性能”HTTP服务架构升级.mp4  [2.5 GB]
21-第十四节“高并发、高性能与高可用”RPC网关.mp4  [2.4 GB]
23-加餐四“高并发、高性能与高可用”Isto续.mp4  [1.9 GB]
03-电商项目Shopzer介绍.mp4  [1.5 GB]
📁 1. 第一期 Java 分布式架构 - 服务治理
📁 14_第⼗⼆周:⼯程脚⼿架定制
1_第二十三节:Spring脚手架运用、架构与定制.mp4  [592.0 MB]
2_第二十四节:Spring脚手架原理、实现与扩展.mp4  [790.2 MB]
📁 10_第⼋周:服务监控平台设计
1_第十五节:基于Pull方式指标监控平台设计.mp4  [839.4 MB]
2_第十六节:基于Push方式指标监控平台设计.mp4  [821.0 MB]
📁 11_第九周:服务链路追踪设计
1_第十七节:基于Java应用层追踪服务链路.mp4  [864.5 MB]
2_第十八节:基于JavaInstrument追踪服务链路重构.mp4  [990.7 MB]
📁 9_第七周:服务监控基础
2_第十四节:Micrometer整合第三方框架.mp4  [934.6 MB]
1_第十三节:Micrometer基础.mp4  [710.4 MB]
📁 5_第四周:Web服务容错性设计
1_第七节:基于 Apache Tomcat 实现 Web 服务容错性.mp4  [864.9 MB]
2_第八节:基于Resilience4j实现Web服务容错性.mp4  [948.4 MB]
📁 3_第⼆周:RESTAPI设计
3_第三节:RESTAPI服务端设计(加餐).mp4  [2.3 GB]
4_第二周:RESTAPI设计答疑.mp4  [1.8 GB]
2_第四节:RESTAPI客户端设计.mp4  [2.0 GB]
1_第三节:RESTAPI服务端设计.mp4  [1.6 GB]
📁 13_第⼗⼀周:服务性能优化
1_第二十一节:SpringWeb性能优化.mp4  [805.0 MB]
2_第二十二节:SpringCloud性能优化.mp4  [1.1 GB]
📁 6_第五周:服务容错性⾼阶设计
2_第十节:服务容错性动态变更设计.mp4  [880.3 MB]
1_第九节:Resilience4j整合第三方框架.mp4  [890.6 MB]
📁 4_第三周:站点国际化设计
1_第五节:站点国际化设计.mp4  [2.7 GB]
2_第六节:站点国际化整合.mp4  [2.5 GB]
📁 8_第一期训练营-中期回顾
2_中期回顾(下)-一到三周.mp4  [803.2 MB]
1_中期回顾(上)-四到六周.mp4  [695.5 MB]
📁 12_第⼗周:服务⽹关整合设计
2_第二十节:服务网关可观测性设计.mp4  [648.8 MB]
1_第十九节:服务网关稳定性设计.mp4  [680.1 MB]
📁 15_第一期训练营-结营
结营直播.mp4  [544.3 MB]
📁 7_第六周:服务柔性负载均衡设计
2_第十二节:基于动态权重的负载均衡实现.mp4  [1.0 GB]
1_第十一节:基于监控指标的负载均衡实现.mp4  [828.9 MB]
📁 2_第一周:基础框架与应用工程搭建
1_第一节:基础框架工程构建.mp4  [2.3 GB]
2_第二节:业务工程模板定制.mp4  [1.5 GB]
📁 1_第一期训练营开营
1_小马哥Java训练营开营直播.mp4  [275.3 MB]
2_Java分布式架构-服务治理」课前预热直播.mp4  [1.3 GB]