在移动互联网与数字化转型浪潮的推动下,企业级应用面临的并发压力与业务复杂性呈指数级增长。传统的单体架构(Monolithic Architecture)逐渐显露出扩展性差、维护成本高、迭代速度慢等瓶颈,难以适应现代互联网业务“高可用、高并发、低延迟”的核心诉求。在此背景下,Java分布式微服务技术成为解决大规模系统架构演进的必由之路。本课程《Java分布式微服务技术专题》正是应运而生,旨在帮助开发者从架构演进视角深入理解微服务的起源、核心原理及工程实践,构建完整的分布式系统知识体系。
本课程并非直接跳跃至Spring Cloud等高阶框架的使用,而是采取了“溯源求本”的教学策略,系统梳理了从单体架构向微服务架构演进的关键技术节点。课程开篇首先对互联网架构进行了宏观概述,随后深入剖析了分布式微服务演进过程中的四大核心技术支柱:缓存技术、反向代理、数据库优化以及集群部署。这一设计逻辑清晰且至关重要,因为任何先进的微服务框架都是建立在基础中间件能力之上的。
在缓存技术环节,课程详细讲解了如何通过引入缓存层缓解数据库压力,提升系统响应速度,这是构建高性能分布式系统的第一块基石。紧接着,针对流量接入与分发问题,讲师深入剖析了Nginx反向代理技术的原理与配置,展示了如何作为入口网关高效处理客户端请求。随着业务规模进一步扩大,单一数据库节点已成为性能瓶颈,课程随即引入了数据库读写分离与大表水平拆分策略。这部分内容是分布式数据存储的核心,通过主从复制实现读写分离以提升吞吐量,通过分库分表解决单表数据量过大导致的性能衰减,为后续服务拆分奠定数据层基础。此外,课程还涉及了Nginx集群部署方案,探讨了如何通过负载均衡集群实现入口层的高可用性,避免单点故障。
对于立志成为后端架构师或高级Java工程师的学习者而言,这门课程不仅是一份技术清单,更是一张架构演进的导航图。它帮助学员建立起“问题驱动架构选型”的思维模式,理解为何需要微服务、微服务解决了什么痛点,以及底层支撑技术是如何协同工作的。课程内容紧凑,时长适中,涵盖了从理论概述到具体技术落地的全过程,并附带源码讲义,确保学习者不仅能“知其然”,更能“知其所以然”。通过本课程的学习,学员将扎实掌握分布式系统的基础设施能力,为后续深入学习Spring Cloud、Dubbo等微服务生态框架打下坚实基础,从而具备独立设计和优化大型分布式系统的能力。
课程目录
1-1 [Java分布式微服务技术-互联网架构概述] 分布式微服务技术课程概述 (07:25) 1-2 [Java分布式微服务技术-互联网架构概述] 分布式微服务架构的演进引言 (13:59) 1-3 [Java分布式微服务技术-互联网架构概述] 分布式微服务演进之缓存技术 (11:13) 1-4 [Java分布式微服务技术-互联网架构概述] 分布式微服的演进之Nginx反向代理技术 (16:38) 1-5 [Java分布式微服务技术-互联网架构概述] 分布式微服的演进之数据库读写分离 (08:45) 1-6 [Java分布式微服务技术-互联网架构概述] 分布式微服务演进之数据库大表水平拆分 (20:57) 1-7 [Java分布式微服务技术-互联网架构概述] 分布式微服务演进之Nginx集群部署 (16:48) 1-8 [Java分布式微服务技术-互联网架构概述] 分布式微服务演进之引入NoSQL数据库和搜索引擎等技术 (16:46) 1-9 [Java分布式微服务技术-互联网架构概述] 分布式微服务演进之引入微服务架构 (17:47) 1-10 [Java分布式微服务技术-互联网架构概述] 分布式微服务演进之引入Docker和K8S虚拟化容器 (07:57) 1-11 [Java分布式微服务技术-互联网架构概述] 分布式微服务演进之以云平台承载系统 (13:41) 2-1 [Java分布式微服务技术-微服务框架入门] 什么是微服务 (12:28) 2-2 [Java分布式微服务技术-微服务框架入门] 微服务框架技术体系 (11:37) 2-3 [Java分布式微服务技术-微服务框架入门] 微服务技术岗位需求 (08:00) 2-4 [Java分布式微服务技术-微服务框架入门] SpringCloud简介 (17:12) 2-5 [Java分布式微服务技术-微服务框架入门] SpringCloud与SpringBoot是什么关系 (02:06) 2-6 [Java分布式微服务技术-微服务框架入门] SpringCloud下载和安装 (12:07) 2-7 [Java分布式微服务技术-微服务框架入门] SprinngCloud入门程序环境搭建 (10:36) 2-8 [Java分布式微服务技术-微服务框架入门] 创建用户微服务并测试 (24:01) 2-9 [Java分布式微服务技术-微服务框架入门] SpringBoot整合Swagger生成接口文档 (07:56) 2-10 [Java分布式微服务技术-微服务框架入门] 创建服务的调用者 (05:20) 2-11 [Java分布式微服务技术-微服务框架入门] 创建一个公用pojo工程 (08:57) 2-12 [Java分布式微服务技术-微服务框架入门] 调用端整合okhttp远程调用工具 (07:13) 3-1 [Java分布式微服务技术-Eureka组件] 使用RestTemplate远程发送请求 (18:54) 3-2 [Java分布式微服务技术-Eureka组件] SpringBoot配置日志打印 (06:40) 3-3 [Java分布式微服务技术-Eureka组件] SpringBoot整合thymeleaf模板引擎 (09:26) 3-4 [Java分布式微服务技术-Eureka组件] 客户端测试远程调用 (03:51) 3-5 [Java分布式微服务技术-Eureka组件] 客户端调用服务端存在的问题 (22:26) 3-6 [Java分布式微服务技术-Eureka组件] Eureka简介 (13:34) 3-7 [Java分布式微服务技术-Eureka组件] Eureka工作模型 (11:41) 3-8 [Java分布式微服务技术-Eureka组件] 搭建Eureka服务器 (15:41) 3-9 [Java分布式微服务技术-Eureka组件] 服务提供者注册到Eureka注册中心 (13:03) 3-10 [Java分布式微服务技术-Eureka组件] 把消费者注册到Eureka注册中心 (05:02) 3-11 [Java分布式微服务技术-Eureka组件] 使用Eureka完成微服务调用 (13:40) 3-12 [Java分布式微服务技术-Eureka组件] Eureka执行的流程回顾 (18:57) 3-13 [Java分布式微服务技术-Eureka组件] Eureka集群的必要性 (11:38) 3-14 [Java分布式微服务技术-Eureka组件] Eureka集群搭建 (15:33) 3-15 [Java分布式微服务技术-Eureka组件] 把服务提供者注册到Eureka集群 (05:27) 3-16 [Java分布式微服务技术-Eureka组件] 把服务提供者注册Eureka集群 (04:29) 3-17 [Java分布式微服务技术-Eureka组件] Eureka保护机制 (16:27) 3-18 [Java分布式微服务技术-Eureka组件] 关闭Eureka自我保护机制 (08:06) 3-19 [Java分布式微服务技术-Eureka组件] EurekaClient配置时间配置 (11:56) 3-20 [Java分布式微服务技术-Eureka组件] Eureka自我保护机制小结 (06:25) 3-21 [Java分布式微服务技术-Eureka组件] Eureka优雅停服 (25:51) 3-22 [Java分布式微服务技术-Eureka组件] Eureka使用HttpClient优雅停服 (07:41) 3-23 [Java分布式微服务技术-Eureka组件] 服务提供者集群的需求 (07:32) 3-24 [Java分布式微服务技术-Eureka组件] 一个微服务如何启动多次 (05:21) 3-25 [Java分布式微服务技术-Eureka组件] 启动两个服务的提供者 (10:52) 3-26 [Java分布式微服务技术-Eureka组件] 服务提供者集群访问的问题 (11:23) 4-1 [Java分布式微服务技术-Ribbon组件] Ribbon的简介 (08:53) 4-2 [Java分布式微服务技术-Ribbon组件] Ribbon组件回顾 (11:28) 4-3 [Java分布式微服务技术-Ribbon组件] 消费者服使用Ribbion调用 (07:54) 4-4 [Java分布式微服务技术-Ribbon组件] Ribbon内置的负载均衡算法源码追踪 (15:04) 4-5 [Java分布式微服务技术-Ribbon组件] Ribbon常见的负载均衡算法 (03:04) 4-6 [Java分布式微服务技术-Ribbon组件] Ribbon常见负载均衡算法解析 (14:59) 4-7 [Java分布式微服务技术-Ribbon组件] Ribbon负载均衡算法修改方式1 (10:44) 4-8 [Java分布式微服务技术-Ribbon组件] Ribbon负载均衡算法修改方式2 (09:34) 4-9 [Java分布式微服务技术-Ribbon组件] Ribbon自定义负载均衡算法 (06:38) 4-10 [Java分布式微服务技术-Ribbon组件] 关于Ribbon服务重试问题 (15:35) 4-11 [Java分布式微服务技术-Ribbon组件] Feign的简介 (07:17) 4-12 [Java分布式微服务技术-Ribbon组件] OpenFeign封装Ribbon完成服务调用 (10:45) 4-13 [Java分布式微服务技术-Ribbon组件] OpenFeign小结 (03:28) 5-1 [Java分布式微服务技术-Hytrix组件] 分布式系统面临的问题 (17:12) 5-2 [Java分布式微服务技术-Hytrix组件] Hystrix概述 (10:21) 5-3 [Java分布式微服务技术-Hytrix组件] Hystrix的熔断器测试 (19:02) 5-4 [Java分布式微服务技术-Hytrix组件] 服务降级优化-彻底解耦 (18:49) 5-5 [Java分布式微服务技术-Hytrix组件] Hytrix的简单回顾 (11:35) 5-6 [Java分布式微服务技术-Hytrix组件] Hytrix的熔断和降级原理 (19:33) 5-7 [Java分布式微服务技术-Hytrix组件] Hystrix Dashboard简介 (05:23) 5-8 [Java分布式微服务技术-Hytrix组件] Hystrix Dashboard配置 (07:52) 6-1 [Java分布式微服务技术-Zuul组件] SpringCloud的网关概念 (14:02) 6-2 [Java分布式微服务技术-Zuul组件] SpringCloud中ZUUL简介 (06:44) 6-3 [Java分布式微服务技术-Zuul组件] 创建消费者集群工程 (14:33) 6-4 [Java分布式微服务技术-Zuul组件] 创建一个微服务网关Zuul (08:32) 6-5 [Java分布式微服务技术-Zuul组件] 配置Zuul的路由 (22:05) 6-6 [Java分布式微服务技术-Zuul组件] Zuul面向服务的路由 (16:38) 6-7 [Java分布式微服务技术-Zuul组件] ZUUL过滤器的使用场景 (05:28) 6-8 [Java分布式微服务技术-Zuul组件] ZUUL中的IZuulFilter接口和实现类 (12:05) 6-9 [Java分布式微服务技术-Zuul组件] ZUUL内置的过滤器 (14:50) 6-10 [Java分布式微服务技术-Zuul组件] 自定义ZUUL的日志过滤器 (18:28) 6-11 [Java分布式微服务技术-Zuul组件] 自定义ZUUl过滤器服务鉴权 (12:06) 6-12 [Java分布式微服务技术-Zuul组件] ZUUL集群存在的问题 (17:39) 7-1 [Java分布式微服务技术-Nginx反向代理服务器] Nginx的课程概述 (06:53) 7-2 [Java分布式微服务技术-Nginx反向代理服务器] Nginx的简介 (13:16) 7-3 [Java分布式微服务技术-Nginx反向代理服务器] Nginx应用场景 (17:41) 7-4 [Java分布式微服务技术-Nginx反向代理服务器] Nginx的安装和启动 (09:18) 7-5 [Java分布式微服务技术-Nginx反向代理服务器] 准备Nginx反向代理的配置环境 (08:47) 7-6 [Java分布式微服务技术-Nginx反向代理服务器] Nginx配置文件的解析 (19:39) 7-7 [Java分布式微服务技术-Nginx反向代理服务器] 案例1-Nginx反向代理 (07:38) 7-8 [Java分布式微服务技术-Nginx反向代理服务器] 案例2-Nginx反向代理 (19:33) 7-9 [Java分布式微服务技术-Nginx反向代理服务器] Nginx负载均衡的概念 (21:40) 7-10 [Java分布式微服务技术-Nginx反向代理服务器] Nginx的负载均衡算法测试 (22:10) 7-11 [Java分布式微服务技术-Nginx反向代理服务器] Nginx的负载均衡算法-加权轮询 (13:26) 7-12 [Java分布式微服务技术-Nginx反向代理服务器] Nginx的负载均衡算法-IP哈希算法 (13:58) 7-13 [Java分布式微服务技术-Nginx反向代理服务器] Nginx5种负载均衡算法 (05:14) 7-14 [Java分布式微服务技术-Nginx反向代理服务器] Nginx的备机配置 (11:44) 7-15 [Java分布式微服务技术-Nginx反向代理服务器] Nginx宕机down配置 (01:42) 7-16 [Java分布式微服务技术-Nginx反向代理服务器] Nginx的动静分离概念 (14:46) 7-17 [Java分布式微服务技术-Nginx反向代理服务器] Nginx动静分离小结 (26:03) 8-1 [Java分布式微服务技术-分布式配置中心] Nginx的应用场景回顾 (20:00) 8-2 [Java分布式微服务技术-分布式配置中心] Nginx实现Zuul的集群操作 (07:20) 8-3 [Java分布式微服务技术-分布式配置中心] 微服务下的动静分离配置 (08:06) 8-4 [Java分布式微服务技术-分布式配置中心] SpringCloud Config分布式配置中心简介 (16:50) 8-5 [Java分布式微服务技术-分布式配置中心] Git的技能需求 (02:49) 8-6 [Java分布式微服务技术-分布式配置中心] Git的由来 (17:32) 8-7 [Java分布式微服务技术-分布式配置中心] Git的适用场景 (09:47) 8-8 [Java分布式微服务技术-分布式配置中心] Git的下载与安装 (06:29) 8-9 [Java分布式微服务技术-分布式配置中心] Git的基础配置 (21:15) 8-10 [Java分布式微服务技术-分布式配置中心] 初始化本地仓库 (06:53) 8-11 [Java分布式微服务技术-分布式配置中心] 添加文件本地仓库 (09:49) 8-12 [Java分布式微服务技术-分布式配置中心] 修改文件本地仓库 (04:04) 8-13 [Java分布式微服务技术-分布式配置中心] 删除本地仓库文件 (02:28) 8-14 [Java分布式微服务技术-分布式配置中心] 本地库版本穿越 (12:25) 8-15 [Java分布式微服务技术-分布式配置中心] Git的还原文件 (08:38) 8-16 [Java分布式微服务技术-分布式配置中心] GIT工作原理 (07:07) 8-17 [Java分布式微服务技术-分布式配置中心] Git分支管理概念 (04:53) 8-18 [Java分布式微服务技术-分布式配置中心] Git分支管理 (15:34) 8-19 [Java分布式微服务技术-分布式配置中心] Git的分支冲突问题 (10:46) 8-20 [Java分布式微服务技术-分布式配置中心] 版本打标签TAG (08:57) 8-21 [Java分布式微服务技术-分布式配置中心] 项目经理创建一个本地库 (10:33) 8-22 [Java分布式微服务技术-分布式配置中心] 项目经理代码发布远程库 (12:32) 8-23 [Java分布式微服务技术-分布式配置中心] 项目经理邀请员工成为远程仓库的开发者 (05:28) 8-24 [Java分布式微服务技术-分布式配置中心] 团队成员克隆代码到本地库 (03:39) 8-25 [Java分布式微服务技术-分布式配置中心] 团队成员把本地库代码上传到远程库 (04:17) 8-26 [Java分布式微服务技术-分布式配置中心] 远程仓库协作冲突问题 (12:24) 8-27 [Java分布式微服务技术-分布式配置中心] Git冲突的回顾 (09:49) 8-28 [Java分布式微服务技术-分布式配置中心] 使用IDEA创建本地仓库 (11:28) 8-29 [Java分布式微服务技术-分布式配置中心] 使用IDEA代码推送到远程 (06:13) 8-30 [Java分布式微服务技术-分布式配置中心] 项目成员拉取源码开发上传 (09:29) 8-31 [Java分布式微服务技术-分布式配置中心] IDEA模拟代码提交冲突 (13:51) 8-32 [Java分布式微服务技术-分布式配置中心] SpringCloud Config分布式配置中心回顾 (07:47) 8-33 [Java分布式微服务技术-分布式配置中心] 创建配置中心服务器 (07:23) 8-34 [Java分布式微服务技术-分布式配置中心] 配置SpringCloudConfig配置中心服务器 (13:40) 8-35 [Java分布式微服务技术-分布式配置中心] 配置服务器获取配置GIT配置文件 (04:52) 8-36 [Java分布式微服务技术-分布式配置中心] 配置SpringCloudConfig配置中心客户端 (10:53) 8-37 [Java分布式微服务技术-分布式配置中心] 测试从分布式配置中心拉取配置 (13:10) 8-38 [Java分布式微服务技术-分布式配置中心] 配置SpringCloudConfig配置中心乱码问题 (09:56) 8-39 [Java分布式微服务技术-分布式配置中心] SpringcloudConfig分布式配置中心遗留问题 (06:41)





