深入理解Spring Cloud与实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

据O'Reilly在2020年7月15日公布的企业微服务市场现状的调研数据来看,有77%的组织采用了微服务,其中,92%的组织成功地使用了微服务。Spring Cloud和Apache Dubbo作为非常流行的两款微服务开发框架,深受开发者们关注。笔者编写本书的目的是让读者透彻理解Spring Cloud这套开发框架。

2018年7月,笔者有幸参与了Spring Cloud Alibaba开源项目的建设,并成为该项目的创始人之一。在随后的日子里,笔者经历了Spring Cloud Alibaba进入Spring Cloud孵化器、毕业、Spring Cloud官网上线Spring Cloud Alibaba、Spring Initializr上线Spring Cloud Alibaba组件、GitHub Star数超过15000个、Used By数超过7000个、企业使用数超过1000个等诸多具有里程碑意义的事件。在整个过程中,笔者有幸与Spring Cloud的创始人Spencer Gibb交流过Spring Cloud的一些设计理念,还通过与Spring首席布道师Josh Long一起制作Bootiful Podcast视频来介绍Spring Cloud Alibaba。这些都是非常难忘的经历。

在建设Spring Cloud Alibaba的过程中,笔者对Spring Cloud整个生态的知识点进行了深入学习,发现 Spring Cloud 生态体系其实非常庞大,大家平时可能更多地关注于服务注册/发现、配置管理、熔断器和网关这4大方面,但实际上Spring Cloud还包括消息、消息总线、任务调度、应用部署、Serverless、CI/CD等诸多领域的知识。

本书共分10章,主要介绍Spring Cloud各个核心组件的设计原理,以及目前流行的Spring Cloud Alibaba和Netflix组件,并且剖析Spring Cloud对流处理、批处理,以及目前业界流行的Serverless的支持。在介绍各部分内容时,本书将理论与实践相结合,对每个核心知识点都给出了具体的案例应用,以帮助读者掌握核心组件的设计理念。

笔者一开始是不打算写这本书的,因为市面上已经有不少与Spring Cloud 相关的书籍,再编写一本可能也没有太大意义。有了 Spring Cloud Alibaba 的这段经历后,笔者发现市面上的那些Spring Cloud书籍对Spring Cloud生态的介绍还不够详细,而且涉及的Spring Cloud版本也比较老(本书所用的版本是 Spring Cloud Hoxton.RELEASE),所以想把对 Spring Cloud的理解写出来与大家分享。

由于笔者平时工作非常忙,又遇到新房装修的事情,只能每天早起、晚睡挤出时间来编写,所以导致本书历时近一年时间才完成。

因笔者能力有限,书中难免有错漏之处,恳请读者批评、指正。对本书的意见和建议,读者可以通过电子邮件发送给笔者(电子邮箱为 fangjian0423@apache.org),或者在本书对应的GitHub 代码仓库上提交 issue。本书所有的示例代码均已发布到 GitHub 官网的“fangjian0423/deep-in-spring-cloud-samples”页面下,每个项目的说明文档(README)都注明了对应的章节。

本书能顺利出版,首先要感谢笔者的老板和同事,是他们让笔者有机会参与 Spring Cloud Alibaba 开源项目的建设。其次要感谢笔者的妻子,是她的鼓励让笔者有动力编写这本书,而且她在笔者写作期间分担了不少家庭事务,让笔者有更多的时间投入写作。最后要感谢电子工业出版社的编辑李利健和她的同事们对本书提出的修改建议。

作者