序
多年来,我已经为几十本书写过前言和序,但这可能是我第一次为写一个序而感到苦恼。为什么呢?我觉得自己是个失败者!我为没有写作这样一本书而感到懊恼,同时懊恼是因为我也不知道是否能够写好它。
这本书非常棒!它的每一页都充满了用生动、深刻的经验来表达的宝贵思想。我一直想看到有人能够把所有这些理念聚集到一起,所以在本书出版后,我会向人们推荐它。
在构建具有生产价值的应用时,我们还需要同时构建生产环境本身(当前主要使用的是Kubernetes生产环境)。这是一个巨大的提升,就像这本书一样,它足有600多页[1]!但是,不要因为我对它的篇幅絮絮叨叨就望而却步,这是一本关于更宏大主题的书。
[1] 指原书厚度。——编辑注
本书涵盖了常见的问题,比如如何构建服务和微服务,以及处理持久化、消息传递、可观测性、配置和安全性等。此外,还有几章专门讨论这些概念。
构建一个不断完善的Spring Boot云原生应用程序(一个在线书店系统)贯穿全书,但本书涵盖的内容不局限于此。Spring Boot应用并不是本书唯一关注的内容。本书的重点很广泛且深入,这是一个很惊人的成就!我觉得可以列出一些具体的细节,这样你就可以了解这本书的内容描述是多么细致了。在此之前,请务必阅读本书。如下列出的几点并不是完备、详尽的,但是它涵盖了我在阅读本书时感到惊喜的内容。这些内容应该出现在一本关于Spring Boot和Spring Cloud的图书中,但不幸的是,它们中很少能够做到这一点。
■ 本书对使用Loki、Fluent Bit和Grafana进行日志记录做了精彩的讲述。
■ 让你的应用在Kubernetes中“运行起来”只是目标之一,读完本书,你将会轻松使用Kubernetes Deployment,并且能够使用Knative和Spring Cloud Function实现Serverless应用,以及使用GitHub Actions、Kustomize和Kubeval等工具构建流水线。而且,你将学会使用Tilt和Docker Compose等工具进行本地开发。
■ 在单页应用(Single-Page Application,SPA)环境中讨论安全问题,这本身就可以支撑起一本优秀的图书。本书对该话题的介绍是卓越的、循序渐进和简洁高效的,并且充分考虑到了生产环境。这一章绝对不容错过。
■ 所有的一切都考虑到了测试。Spring的各个项目都有互相补充的测试模块,这些模块在这里得到了优雅的展示。
■ 本书介绍了GraalVM的原生镜像编译器和Spring Native项目。Spring Native是最近才加入生态系统的,所以即便不纳入书中,也不会有人责怪Thomas。但是他做到了,这多么了不起!
■ Thomas花了很多篇幅向我们介绍为什么要按照书中的做法行事,这与最新的技术理念保持了一致。我尤其喜欢他对敏捷和GitOps的阐述。
Spring Boot改变了世界,Thomas的这本书是勇敢的Bootiful新世界的绝佳地图。请购买它,阅读它,并按照它的建议采取行动,创建一些令人惊奇的东西,享受你的应用生产化之旅吧!
Josh Long
Spring技术布道师