前言

本书分为 14 章:第 1~4 章主要介绍微服务的基本理论、Spring Cloud 技术栈和配置基础开发环境的方法,以及如何构建 Spring Cloud Alibaba 模板项目;第 5~13 章从服务通信和服务治理两个重要的概念讲起,主要讲解如何使用 NacosSentinelSeataOpenFeignSpring CloudGatewaySpring Cloud LoadBalancerSpring Cloud SleuthZipkin 等微服务组件,介绍它们的原理和作用,以及如何搭建和整合这些组件并使用它们搭建微服务系统;第 14 章主要介绍使用这些微服务组件构建的一个大型微服务架构项目,包括它的主要功能模块、由单体模式到前后端分离模式再到微服务架构模式的开发历程、微服务项目改造前的拆分思路、微服务架构实战项目的启动等注意事项,这个实战项目详细的开发步骤会整理在本套书的下册中。

本书内容丰富,案例通俗易懂,几乎涵盖了目前 Spring Cloud 的全部热门组件,特别适合想要了解 Spring Cloud 热门组件及想搭建微服务系统的读者阅读。

作为技术人员,各位读者一定对微服务架构有所耳闻,也能够看出它会是未来的一种流行架构,进而也非常希望自己能够掌握微服务技术体系,甚至动手实践完成微服务项目的开发与维护,掌握微服务技术这项非常宝贵的技能。不过,在掌握这项技能时,可能会遇到如下几个问题:

  • 微服务技术的体系复杂,从何学起?学习哪些知识点?有没有简洁而有效的学习路径?

  • 微服务架构中的组件和中间件很多,如何选择一套合适且可落地的方案?

  • 在进行微服务架构的项目搭建与开发时,会遇到哪些问题?这些问题又该如何解决?

  • 想要自己动手开发一个大型微服务项目,有没有适合的源码?有没有可以借鉴的经验?

针对这些问题,笔者结合自己的开发经验和一个可操作的大型微服务实战项目,从复杂的微服务体系中梳理一条明确而有效的学习路径,让读者可以成体系地学习微服务架构,本书的知识点规划和学习路径如图 2 所示。

以上就是笔者为各位开发人员整理的微服务架构项目的学习路径和实战步骤:梳理微服务架构、拆解微服务架构搭建的步骤、搭建并整合各个微服务组件、开发一个大型的微服务项目

image 2025 04 14 14 28 18 166
Figure 1. 图2 本书的知识点规划和学习路径

笔者先对概念性的知识进行介绍,让读者了解微服务的 “前世今生”,然后介绍微服务的技术选型,包括技术栈的介绍与对比,并确定实战项目所选择的微服务技术组件,接着对这些技术组件进行讲解,包括组件的作用、搭建和优化。书中对 NacosSpring Cloud GatewaySentinelSeata 等组件进行搭建和实际的整合,完成微服务架构实战里中间件搭建和整合的工作。除基本的整合外,也对重点技术栈的源码进行了详细的剖析,让读者能够知其然也知其所以然。搭建并整合完各个中间件之后,就是各个服务的编码和功能实现,在本套书的下册中会对一个大型的商城项目进行拆解和微服务化,并从零到一落地一个功能完整、流程完善的微服务项目。本书内容由浅入深,帮助读者深入理解微服务技术,掌握微服务项目开发的核心知识点,并且能够应用到自己所开发的项目中。

你会学到什么

本书的代码基于 Spring Boot 2.6.3 版本和 Spring Cloud Alibaba 2021.0.1.0 版本。笔者通过 14 章的内容由浅入深、逐一击破微服务架构项目中的难点,让各位读者能够实际地体验微服务架构项目的搭建和开发。另外,本书从书稿整理完成至正式出版耗时近一年时间,在这段时间里,Spring BootSpring Cloud Alibaba 及相关技术栈也有一些版本升级,如 Spring Boot 3.xSpring Cloud Alibaba 2022.x。对于这些情况,笔者会在本书实战项目的开源仓库中创建不同的代码分支,保持实战项目的源码更新,保证读者学习更新的知识。

读者学习本书的内容,会有以下收获。

  • Spring Cloud Alibaba 微服务技术组件的整合与使用。

  • 服务治理之服务注册与服务发现。

  • 服务间的通信方式。

  • 负载均衡器的原理与实践。

  • 微服务网关搭建与使用。

  • 分布式事务的处理。

  • 服务容错之限流及熔断。

  • 微服务间的链路追踪。

  • ELK 日志中心的搭建与使用。

  • 针对各个知识点的实战源码和一套可执行的微服务项目源码。