背景介绍
当下的互联应用,业务更加复杂,用户访问更高,开发迭代要求更快,落地微服务架构成为业界最普遍的做法,但也引入了系统的复杂性,要解决服务实例太多、服务调用关系杂乱、服务调用链路太长等典型问题。
基于 Spring Boot 的 Spring Cloud 框架,则很好地解决了以上的问题,不论企业面试还是实战开发,Spring Cloud 都成为后端工程师的必备技能之一。
你会学到什么?
本专栏共 9 个模块,以结合实战案例的方式,介绍 Spring Cloud 框架的核心组件与功能实现,并深入剖析其原理。通过这个专栏的学习,你可以收获:
①从基础知识开始,了解微服务架构基本概念:专栏第 1 模块基础篇,介绍微服务架构的基本要素和技术体系,并正式引入 Spring Cloud 开源框架和其功能特性。
②从实战出发结合原理剖析,构建完整的微服务解决方案:
第 2~6 模块:服务治理、API 网关、服务容错、配置中心、事件驱动架构,这些基础组件与主流微服务技术体系的讲解,带你基于一套完整的微服务解决方案,思考如何构建微服务系统。
第 7~9 模块:服务访问安全、链路跟踪、微服务测试:这些 Spring Cloud 核心功能模块的讲解,使这套微服务架构技术体系更具完备性,内容更加全面。
③结合完整案例,串联所有技术要点:提供一个精简但足够完整的案例系统 SpringHealth ,通过理论与实战的结合,为你讲解 Spring Cloud 的核心组件功能与原理,基于完整案例给出各个组件的实现方式,让你学到日常开发所需的实战技术。
专栏还会提供源码级的原理剖析,让你不仅学完就会用,更能通过优秀框架的设计原理,提高自己的分析能力,向架构师的能力演进。
课程目录
基础篇
01 | 追本溯源:究竟什么样的架构才是微服务架构?
02 | 顶级框架:Spring Cloud 是一款什么样的微服务开发框架?
03 | 案例驱动:如何通过实战案例来学习 Spring Cloud 框架?
使用 Spring Cloud 实现服务治理
04 | 服务治理:如何正确理解服务治理解决方案?
05 | 服务注册:如何构建 Eureka 服务器并理解其实现原理?
06 | 服务发现:如何使用 Eureka 客户端并理解其实现原理?
07 | 负载均衡:如何使用 Ribbon 实现客户端负载均衡?
08 | 负载均衡:如何理解 Ribbon 的基本架构和实现原理?
使用 Spring Cloud 构建 API 网关
09 | 同步网关:如何基于 Zuul 构建 API 网关?
10 | 同步网关:如何剖析 Zuul 网关的工作原理?
11 | 异步网关:如何基于 Spring Cloud Gateway 构建 API 网关?
使用 Spring Cloud 实现服务容错
12 | 服务容错:如何理解服务消费者容错思想和模式?
13 | 熔断之器:如何使用 Spring Cloud Circuit Breaker 实现服务容错?(上)
14 | 熔断之器:如何使用 Spring Cloud Circuit Breaker 实现服务容错?(下)
15 | 熔断原理:如何正确理解 HystrixCircuitBreaker 的底层实现机制?
使用 Spring Cloud 实现配置中心
16 | 配置方案:如何设计分布式环境下的配置中心解决方案?
17 | 配置服务:如何基于Spring Cloud Config 构建配置中心服务器?
18 | 配置集成:如何访问配置中心中的配置信息?
19 | 配置更新:如何理解配置信息自动更新的工作原理?
使用 Spring Cloud 实现事件驱动架构
20 | 消息驱动:如何理解 Spring 中对消息处理机制的抽象过程?
21 | 消息架构:如何把握 Spring Cloud Stream 的基本架构?
22 | 消息发布:如何使用 Spring Cloud Stream 实现消息发布者和消费者?(上)
23 | 消息消费:如何使用 Spring Cloud Stream 实现消息发布者和消费者?(下)
24 | 消息集成:如何剖析 Spring Cloud Stream 集成消息中间件的实现原理?
使用 Spring Cloud 确保服务访问安全
25 | 服务安全:如何理解微服务访问的安全需求和实现方案?
26 | 服务授权:如何基于 Spring Cloud Security 集成 OAuth2 协议?
27 | 服务授权:如何使用 OAuth2 协议实现对服务访问进行授权?
28 | 服务认证:如何使用 JWT 实现定制化 Token?
使用 Spring Cloud 实现链路跟踪
29 | 监控原理:如何理解服务监控和 Spring Cloud Sleuth 的基本原理?
30 | 监控可视:如何整合 Spring Cloud Sleuth 与 Zipkin 实现可视化监控?
31 | 监控扩展:如何使用 Tracer 在访问链路中创建自定义的 Span?
使用 Spring Cloud 完成微服务测试
32 | 测试方案:如何正确理解针对微服务的测试解决方案?
33 | 组件测试:如何使用 Mock 和注解实施组件级别测试?
34 | 契约测试:如何基于 Spring Cloud Contracts 实现面向契约测试?
结束语
总结 | 以终为始:微服务架构总结和展望
作者介绍
萧然,资深架构师、创业公司CTO
长期从事分布式系统的构建和优化工作,负责过大型电商以及健康类系统的设计和开发,曾带领团队完成大规模微服务架构的建设工作,对基于 Spring Cloud 进行微服务开发和治理有着丰富的实践经验。