
前言
与传统的Java框架不同,Quarkus建立在我们已熟知的技术之上。它使用JPA、JAX-RS、Eclipse Vert.x、Eclipse MicroProfile和CDI等一些熟悉的技术,并将这些技术组合到一个紧凑、易于部署、针对OpenJDK Hotspot或GraalVM的Kubernetes优化的容器中。你可以高效地使用Kubernetes集群,在应用程序需要扩展时,最大限度地利用机器上的资源。无论你处于Kubernetes的什么阶段,都会发现它的用处,本书将为你提供掌握Quarkus所需的工具和资源。
本书目标读者
显然,我们希望每个人都能阅读本书!不过,我们的目标读者需要:
·熟悉Java和应用程序开发。
·了解传统的软件开发。
·经常将服务部署到机器集群或云中。
写作原因
Quarkus是一个相对较新的框架,又处于新的领域(原生Java和GraalVM)。我们想深入研究一些互联网上找不到的例子和实践。本书中没有需要理解的大型应用,所有的例子都是自包含的,可以随时使用。我们希望本书能够作为Quarkus开发的参考!
阅读指南
本书的章节组织相对松散,基本顺序如下:
·第1章和第2章介绍Quarkus和项目的建立。
·第3~6章介绍Quarkus的核心部分——使用CDI和Eclipse MicroProfile构建RESTful应用程序。这些章节还将展示如何打包应用程序。
·第7~14章将更加深入地介绍一些重要的概念,如容错、持久性、安全性,以及与其他服务的交互。你还将了解Quarkus与Kubernetes的集成。
·第15章和第16章讲述使用Quarkus进行响应式编程(reactive programming),以及框架的一些附加功能,如模板、调度和OpenAPI。
排版约定
本书中使用以下排版约定:
斜体(Italic)
表示新的术语、URL、电子邮件地址、文件名和文件扩展名。
等宽字体(Constant width)
用于程序清单,以及段落中的程序元素,例如变量名、函数名、数据库、数据类型、环境变量、语句以及关键字。
等宽粗体(Constant width bold)
表示应由用户直接输入的命令或其他文本。
等宽斜体(Constant width italic)
表示应由用户提供的值或由上下文确定的值替换的文本。
该图示表示提示或建议。
该图示表示一般性说明。
该图示表示警告或注意。
该图示表示需要记住的要点。
示例代码
可以从https://oreil.ly/quarkus-cookbook-code下载补充材料(示例代码、练习等)。
这里的代码是为了帮助你更好地理解本书的内容。通常,可以在程序或文档中使用本书中的代码,而不需要联系O'Reilly获得许可,除非需要大段地复制代码。例如,使用本书中所提供的几个代码片段来编写一个程序不需要得到我们的许可,但销售或发布O'Reilly的示例代码则需要获得许可。引用本书的示例代码来回答问题也不需要许可,将本书中的很大一部分示例代码放到自己的产品文档中则需要获得许可。
非常欢迎读者使用本书中的代码,希望(但不强制)注明出处。注明出处的形式包含书名、作者、出版社和ISBN,例如:
Quarkus Cookbook,作者Alex Soto Bueno和Jason Porter,由O'Reilly出版,书号978-1-492-06265-3
如果读者觉得对示例代码的使用超出了上面所给出的许可范围,欢迎通过permissions@oreilly.com联系我们。
O'Reilly在线学习平台(O'Reilly Online Learning)
40多年来,O'Reilly Media致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。
我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。O'Reilly的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境,以及O'Reilly和200多家其他出版商提供的大量文本和视频资源。有关的更多信息,请访问http://oreilly.com。
如何联系我们
对于本书,如果有任何意见或疑问,请按照以下地址联系本书出版商。
美国:
O'Reilly Media,Inc.
1005 Gravenstein Highway North
Sebastopol,CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
要询问技术问题或对本书提出建议,请发送电子邮件至bookquestions@oreilly.com。
本书配套网站https://oreil.ly/quarkus-cookbook上列出了勘误表、示例以及其他信息。
关于书籍、课程、会议和新闻的更多信息,请访问我们的网站http://www.oreilly.com。
我们在Facebook上的地址:http://facebook.com/oreilly
我们在Twitter上的地址:http://twitter.com/oreillymedia
我们在YouTube上的地址:http://www.youtube.com/oreillymedia
致谢
Jason Porter:在疫情隔离期间做什么?当然是写书了!感谢所有奋战在医疗一线的勇士。我要感谢Quarkus和GraalVM背后的团队提供了一个神奇的工具和有趣的开发体验。我从事软件开发已经有20多年了,Quarkus给我带来了像刚开始学习软件开发时的乐趣。非常感谢Georgios Andrianakis和Daniel Hinojosa对本书的技术审阅,使得本书更易理解、更加实用,希望学习Quarkus的人能够喜欢。还要感谢Red Hat公司让我有机会写作本书。感谢Alex再次邀请我一起写书。最后,感谢我的5个孩子(Kaili、Emily、Zackary、Nicolas和Rebecca)和妻子Tessie。
Alex Soto Bueno:本书是在COVID-19流行期间完成的,所以首先我要感谢所有的医护人员。还要感谢Red Hat开发者团队,特别是Burr Sutter,让我有机会写作本书。能和Jason一起写书是我的荣幸。最后,感谢我的父母、妻子Jessica,还有女儿Ada和Alexandra。