本书共分10章,主要介绍Spring Cloud各个核心组件的设计原理,以及目前流行的Spring Cloud Alibaba和 Netflix组件,并且剖析Spring Cloud对流处理、批处理,以及目前业界流行的Serverless的支持。在介绍各部分内容时,本书将理论与实践相结合,对每个核心知识点给出了具体的案例应用,以帮助读者掌握核心组件的设计理念。
Spring Cloud Alibaba创始人倾力打造;阿里云智能资深技术专家司徒放(姬风)、 阿里云智能高级技术专家张乎兴、 Spring Cloud Alibaba项目架构师小马哥(mercyblitz)、阿里云智能高级技术专家彭文杰、云集架构师冷冷、Nepxion开源社区创始人任浩军联合力荐。
前 言
据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 数超过10000个、Used By 数据超过5000个、企业使用数超过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的理解写出来与大家分享。
由于笔者平时工作非常忙,又遇到新房装修的事情,只能每天早起、晚睡挤出时间来编写,所以导致本书历时近一年时间才完成。
因笔者能力有限,书中难免有错漏之处,恳请读者批评、指正。对本书的意见和建议,读者可以通过电子邮件发送给笔者,或者在本书对应的GitHub代码仓库上提交issue。本书所有的示例代码均已发布到Github官网的“fangjian0423/ deep-in-spring-cloud-samples”页面下,每个项目的说明文档(README)都会注明对应的本书章节。
在编写本书的过程中,首先要感谢笔者的老板和同事,是他们让笔者有机会参与 Spring Cloud Alibaba 开源项目的建设。其次要感谢笔者的妻子,是她的鼓励让笔者有动力编写这本书,而且在笔者写作期间分担了不少家庭事务,让笔者有更多的时间投入写作。
最后要感谢电子工业出版社的编辑李利健和她的同事们对本书提出修改建议。
作 者