Spring Cloud Alibaba大型微服务架构项目实战(下册)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

大家好,我是十三。

非常感谢你们阅读本书,在技术的道路上,我们从此不再独行。

写作背景

2017年2月24日,笔者正式开启技术写作之路,也开始在GitHub网站上做开源项目,由于一直坚持更新文章和开源项目,慢慢地被越来越多的人所熟悉。2018年6月7日,电子工业出版社的陈林编辑通过电子邮件联系笔者并邀请笔者出书。从此,笔者与电子工业出版社结缘。2018年,笔者也被不同的平台邀请制作付费专栏和课程。从2018年9月开始,笔者陆续在CSDN图文课、实验楼、蓝桥云课、掘金小册、极客时间等平台上线了多个付费专栏和多门课程。2020年,笔者与电子工业出版社的陈林编辑联系并沟通了写作事宜,之后签订了图书出版合同,第一本书在2021年正式出版。

笔者写作的初衷是把自己对技术的理解及实战项目开发的经验分享给读者。笔者把过去几年的经历整理成一张图,如下图所示。“免费文章→付费专栏→付费视频→实体图书”,从无到有,是一步一步走过来的。这些是本书的写作背景。

笔者将付费专栏和本书中所用到的实战项目开源到GitHub和Gitee两个开源代码平台上,本书中基于Spring Cloud Alibaba的微服务架构项目newbee-mall-cloud是笔者开发的一个开源项目。

随着越来越完善的微服务技术栈的发布,以及越来越多的微服务架构项目落地和上线,使用Java技术栈的企业应该都在尝试或已经落地了各自的微服务架构项目。通过招聘网站的信息和每次面试的反馈,Java开发人员能够清晰地认识到:微服务技术已经成为Java开发者必须掌握的一门技术。

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

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

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

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

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

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

以上就是笔者为读者整理的微服务架构项目的学习路径和实战步骤:梳理微服务架构、拆解出微服务架构搭建的步骤、搭建并整合微服务组件、从零到一开发大型的微服务架构项目。

你会学到什么

《Spring Cloud Alibaba大型微服务架构项目实战》(上册)已经对概念性的知识点进行了介绍,包括微服务的技术选型、对比技术栈、确定实战项目所选择的微服务组件,并对这些组件进行了讲解,包括组件的作用、搭建和优化,主要介绍了 Nacos、Spring Cloud Gateway、Sentinel、Seata等组件的搭建和整合,完成了微服务架构项目里中间件搭建和整合的工作。除基础的整合外,也对重点技术栈的源代码进行了详细的剖析,让读者能够“知其然,知其所以然”。

作为对《Spring Cloud Alibaba大型微服务架构项目实战》(上册)的补充,本书对一个大型的商城项目进行拆解和微服务化,并从零到一落地一个功能完整、流程完善的微服务架构项目,由浅入深,逐一击破微服务架构项目中的难点。通过本书的讲解和提供的完整代码,读者可以更深入地掌握Spring Cloud Alibaba技术栈中的组件、知识点,并且能够将其应用到自己所开发的项目中,在实战中深入理解微服务技术,掌握微服务架构项目开发的核心知识点。

本书的代码基于Spring Boot 2.6.3版本和Spring Cloud Alibaba 2021.0.1.0版本。需要注意的是,本书从书稿整理完成至正式出版耗时近一年,在这段时间里,Spring Boot、Spring Cloud Alibaba及相关技术栈有一些版本升级,比如Spring Boot 3.x发版、Spring Cloud Alibaba 2022.x发版。对于这些情况,笔者会在本书实战项目的开源仓库中创建不同的代码分支,保持实战项目的源代码更新,保证读者不会学习过时的知识点。

读者将通过本书学到以下内容。

·Spring Cloud Alibaba微服务组件的整合与使用。

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

·服务间的通信方式。

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

·服务网关的搭建与使用。

·分布式事务的处理。

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

·微服务间的链路追踪。

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

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

适宜人群

·从事 JavaWeb 开发的技术人员。

·希望进阶高级开发的后端开发人员。

·对微服务架构感兴趣、想要了解 Spring Cloud Alibaba热门组件的开发人员。

·希望将微服务架构及相关技术实际运用到项目中的开发人员。

·想要独立完成一个微服务架构项目的开发人员。

源代码

本书的每个实战章节都有对应的源代码,读者可以在本书封底扫码获取。

最终的实战项目是笔者的开源项目newbee-mall-cloud,在开源网站GitHub和Gitee上都能搜索并下载到最新的源代码。

·https://www.hxedu.com.cn/Resource/OS/github.htm

·https://www.hxedu.com.cn/Resource/OS/gitee.htm

致谢

感谢电子工业出版社的陈林、石悦、李玲和其他老师,本书能够顺利出版离不开你们的奉献,感谢你们辛苦、严谨的工作。

感谢 newbee-mall 系列开源仓库的各位用户及笔者专栏文章的所有读者。他们提供了非常多的修改和优化意见,使这个微服务架构项目变得更加完善,为笔者提供了持续写作的动力。

感谢掘金社区、运营负责人优弧和运营人员Captain。本书部分内容是基于掘金小册《Spring Cloud Alibaba大型微服务项目实战》中的章节扩展而来的,本书能顺利出版得到了掘金社区的大力支持。

特别感谢一下家人,没有他们的默默付出和巨大的支持,笔者不可能有如此多的时间和精力专注于本书的写作。

感谢每一位没有提及名字,但是曾经帮助过笔者的贵人。

韩帅

2024年6月1日 于杭州