微服务从小白到专家:Spring Cloud和Kubernetes实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

推荐序

很多时候人们常常把软件架构和建筑学做类比,两者的英语原文都是Architect。Architect这个词源于建筑学,后来被软件领域采用。虽然软件领域和建筑领域中的“架构”一词在概念层面有着相似性,但是到了实际落地层面,两者却是截然不同的。

建筑领域中的“架构”是从一开始就设计好了的,后面的施工建设只是依据这个架构图纸去一比一地实现。需要多少块砖、需要多少资源都是事先可以精确预估的。然而,软件领域中的“架构”更像是一种设计哲学,或者说是一种设计艺术,即使采用相同的架构设计理念,最后实现的代码也可能会完全不同。因此,我在各种公开场合都一直强调“软件的架构从来不是设计出来的,而是生长出来的”。

纵观历史,软件架构的发展经历了很多里程碑,从早期的单体架构,到后来的分层架构,再到SOA、微服务,以及下一代微服务技术——服务网格(Service Mesh)。每一次的架构迭代都是为了解决之前架构设计中的“坑”。可以说,软件架构的迭代历史就是一部不折不扣的“挖坑和填坑”的历史。

时至今日,微服务架构早已从概念阶段走到了有大量应用的巅峰阶段。从技术层面上讲,Spring Cloud、Docker和Kubernetes已经成为事实上的标杆;从商业层面上讲,微服务架构也已经实现了“利用技术上的确定性来应对业务端的不确定性”这一关键目标。作为新时代的软件研发人员,不管你是从一开始就使用微服务,还是从原本的分布式架构向微服务架构转型,都非常有必要深入学习微服务落地实践的方方面面。因此,我们急需一本理论与实践相结合,能够结合实际案例讲解的图书。本书的出版可以说填补了这一空缺。

当我拿到这本书的样章时,有一种惊喜的感觉,因为这是目前为数不多的由国人出品的面向初学者的微服务架构实战类图书。当我怀着欣喜的心情读了本书的部分章节后,不仅感受到几位作者多年来对微服务架构在实际项目中落地的深刻理解和认识,而且发现这是一本学习曲线非常平滑,但又不失技术先进性和工程实战性的微服务实战好书。

其实,市面上各自讲解Spring Cloud、Docker和Kubernetes的书不在少数,但是本书使用了一个贯穿全书的优惠券实战项目,通过实际项目的需求驱动方式,将Spring Boot、Spring Cloud的核心知识点与Docker容器技术及容器编排领域的标杆Kubernetes结合,做到了技术路径上的一脉相承。

本书既有理论体系上庖丁解牛、细致入微的分析和讲解,又有面向初学者的实战技术指导和具体实践说明,从而让读者对企业落地微服务架构的方案与最佳实践有了一个更全面、更体系化的认识。可以说,本书是软件开发人员系统性地认识微服务架构、实践微服务架构“躬身入局”的必读佳作。

茹炳晟
腾讯 技术工程事业群 基础架构部 T4级专家
腾讯研究院 特约研究员