Quarkus实战:专为Kubernetes而优化的Java解决方案
基本信息
- 作者: [西班牙]亚历克斯·索托·布埃诺(Alex Soto Bueno),[美]詹森·波特(Jason Porter)
- 丛书名: O’Reilly精品图书系列
- 出版社:机械工业出版社
- ISBN:9787111677635
- 上架时间:2021-3-20
- 出版日期:2021 年3月
- 开本:16开
- 页码:348
- 版次:1-1
- 所属分类:计算机 > 软件与程序设计 > JAVA(J#) > Java

【插图】

编辑推荐
Quarkus针对Kubernetes进行了优化,旨在帮助你创建云优先、容器原生和无服务器能力的Java应用。Quarkus的定位是一个超越Java体系的技术栈,可以让Java在享有丰富的大生态的同时,完美拥抱云原生,享受云原生带来的红利。在本书中,两位作者提供了在微服务开发和生产中安装Quarkus、与Quarkus交互和使用Quarkus的详细解决方案。本书每一章都以“问题-解决方案-讨论”的格式编写,有助于你快速找到解决现实挑战的方法。
无论你是刚接触Quarkus 还是已经熟悉了Quarkus,都会发现本书正是你所需要的,本书将为你提供掌握Quarkus 所需的工具和资源。通过本书,你可以借助Quarkus 提高 Java 相关的研发效率,从而在快节奏的微服务构建和基于云的应用程序开发领域立于不败之地。
内容简介
计算机书籍
Quarkus 建立在我们已熟知的基础技术之上。它使用 JPA、JAX-RS、Eclipse Vert.x、Eclipse MicroProfile 和 CDI 等一些熟悉的技术,并将这些技术组合到一个紧凑、易于部署、针对 OpenJDK Hotspot 或 GraalVM 的 Kubernetes 优化的容器中。
本书首先介绍Quarkus的基础知识;接着介绍Quarkus的核心部分——使用 CDI 和 Eclipse MicroProfile 构建RESTful应用程序,并展示如何打包应用程序;然后介绍容错、持久性、安全性、与其他服务的交互以及 Quarkus与Kubernetes的其他集成;最后讲述使用Quarkus进行响应式编程,以及框架的一些附加功能,如模板、调度和 OpenAPI。
作译者
Alex Soto Bueno 是Red Hat的开发者体验总监,自 2017 年以来一直是 Java Champion。
Jason Porter 是一名首席软件工程师,在Red Hat从事中间件工程服务、Arquillian、Quarkus 和其他开发者体验项目。
◆ 译者简介 ◆
张晓宇 腾讯云专家工程师,目前从事腾讯专有云场景下的云原生研发工作,曾就职于阿里云和中兴通讯。同时也是Kubernetes社区和云原生社区成员,多场KubeCon的演讲嘉宾。
刘岩 容器开发工程师,云原生社区成员,目前从事云原生应用平台建设相关的工作,热衷于云原生技术。
宋净超 Tetrate 布道师,云原生社区创始人,CNCF Ambassador,多本云原生相关图书作译者。
目录
前言3
第1章 Quarkus概述7
1.1 开发者友好7
1.2 与Kubernetes集成8
1.3 内存和第一响应时间8
1.4 Quarkus基本工作流程9
第2章 搭建脚手架10
2.1用Maven搭建Quarkus项目的脚手架10
2.2用Gradle搭建Quarkus项目的脚手架12
2.3 用Quarkus Start Coding网站搭建Quarkus项目的脚手架13
2.4 用Visual Studio Code搭建Quarkus项目的脚手架15
2.5 使用开发模式实时重载19
2.6 提供静态资源20
第3章 开发RESTful服务22
3.1 创建一个简单的REST API端点22
3.2 提取请求参数24
3.3 使用HTTP响应状态码25
3.4 绑定HTTP方法28
3.5 启用跨源资源共享29
前言
本书目标读者
显然,我们希望每个人都能阅读本书!不过,我们的目标读者需要:
熟悉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)
用于程序清单,以及段落中的程序元素,例如变量名、函数名、数据库、 数据类型、环境变量、语句以及关键字。
序言
Red Hat是第一个通过OpenShift将Java企业版(Java EE)应用服务器与云结合起来的供应商。它的所有Java项目和产品组合都延续了这一趋势。然而,当世界转向Linux Containers和Kubernetes时,无论何种编程语言的应用开发模式都朝着不可逆的方向发展。Java一直致力于实现动态应用的开发,多年来基于Java构建的框架也利用了这方面的优势。为了确保Java仍然是云开发者的首选,我们需要改变思维方式,创造新工具和新框架。
当2018年年初开始研究Quarkus时,我们放下成见,考虑了所有可行的选择。通过与包括Red Hat OpenJDK团队在内的很多组织合作,我们看到了以GraalVM为代表的基于Java创建不可变原生镜像的机会,最终诞生了Quarkus。在这几年里,Quarkus在Java社区掀起了一场风暴,其发展速度和受欢迎程度超出了我们的想象。我们坚信,它代表了企业级Java在Kubernetes中的未来。我们重新架构了许多流行的Java框架,从头开始编写了一些新框架,所有这些都是为了确保Quarkus成为Java开发领域卓越的Kubernetes原生框架,包括用于Serverless和Knative等新领域。
本书的作者一直积极参与Quarkus的开发且在团队中工作过相当长的时间。他们对使用Quarkus开发应用程序有独到的见解,这是目前很少有人能做到的。他们写作本书是为了用自己的经验帮助读者构建Quarkus应用程序。无论你是刚接触Quarkus还是已经熟悉了Quarkus,都会发现本书正是你所需要的。本书涵盖了很多内容,包括:基本的Quarkus应用程序构建,测试应用程序,使用Eclipse MicroProfile添加高级概念,响应式编程(这是Quarkus的核心部分),使用Spring进行构建,等等。如果你对Quarkus感兴趣,那么本书就是你增长知识、提高技能的绝佳指南。同时希望你加入Quarkus社区,与大家共同进步。
Mark Little博士,JBoss CTO,工程副总裁
媒体评论
——Venkat Subramaniam 博士,Agile Developer公司创始人,Functional Programming in Java 的作者
“本书的问题-解决方案-讨论结构,以及紧扣主题的代码示例,有助于你快速找到解决现实挑战的方法。”
——Adam Bien,Real World Java EE Patterns的作者