书刊介绍
《Quarkus实战》内容简介
Quarkus建立在我们已熟知的基础技术之上。它使用JPA、JAX-RS、Eclipse Vert.x、Eclipse MicroProfile和CDI等一些熟悉的技术,将这些知识结合到一个紧凑的、易于部署的、针对OpenJDK Hotspot或GraalVM的Kubernetes优化的容器中。你可以高效利用Kubernetes集群,在应用程序需要扩展时,极大限度地利用机器上的资源。
作者:(西)亚历克斯·索托·布埃诺(Alex Soto Bueno),(美)詹森·波特(Jason Porter) 译者:张晓宇作品目录
O'Reilly
Media,Inc.介绍
译者序
序言
前言
第1章:Quarkus概述
1.1、开发者友好
1.2、与Kubernetes集成
1.3、内存和第一响应时间
1.4、Quarkus基本工作流程
第2章:搭建脚手架
2.1、用Maven搭建Quarkus项目的脚手架
2.2、用Gradle搭建Quarkus项目的脚手架
2.3、用Quarkus
Start
Coding网站搭建Quarkus项目的脚手架
2.4、用Visual
Studio
Code搭建Quarkus项目的脚手架
2.5、使用开发模式实时重载
2.6、提供静态资源
第3章:开发RESTful服务
3.1、创建一个简单的REST
API端点
3.2、提取请求参数
3.3、使用HTTP响应状态码
3.4、绑定HTTP方法
3.5、启用跨源资源共享
3.6、使用响应式路由
3.7、拦截HTTP请求
3.8、使用SSL进行安全连接
第4章:配置
4.1、使用自定义属性配置应用程序
4.2、以程序化的方式访问配置属性
4.3、在外部覆盖配置值
4.4、使用profile进行配置
4.5、修改日志配置
4.6、添加应用程序日志
4.7、高级日志配置
4.8、使用自定义profile进行配置
4.9、创建自定义配置源
4.10、创建自定义转换器
4.11、配置值的分组
4.12、验证配置值
第5章:编程模型
5.1、对JSON进行编组和解组
5.2、对XML进行编组和解组
5.3、校验输入值和输出值
5.4、创建自定义校验
5.5、以程序化的方式校验对象
5.6、依赖注入
5.7、创建工厂类
5.8、执行对象生命周期事件
5.9、执行应用程序生命周期事件
5.10、使用命名限定符
5.11、使用自定义限定符
5.12、限定和配置注解
5.13、创建拦截器
5.14、行为测试
5.15、单元测试
5.16、创建mock对象
5.17、使用Mockito创建mock对象
5.18、用元注解将多个注解组合为一个注解
5.19、在测试代码前后执行代码
5.20、测试原生可执行文件
第6章:打包Quarkus应用程序
6.1、在命令行模式下运行
6.2、创建一个可运行的JAR文件
6.3、über-JAR打包
6.4、构建原生可执行文件
6.5、为JAR文件构建一个Docker容器
6.6、为原生可执行文件构建一个Docker容器
6.7、构建和容器化原生SSL应用程序
第7章:持久化
7.1、配置数据源
7.2、使用多个数据源
7.3、添加数据源的健康检查
7.4、定义事务的边界
7.5、设置事务的上下文
7.6、程序化事务控制
7.7、设置和修改事务超时时间
7.8、使用persistence.xml
7.9、不使用persistence.xml
7.10、使用不同JAR文件的实体
7.11、用Panache持久化数据
7.12、用Panache
listAll方法查找所有实体条目
7.13、用Panache
findById方法查找单个实体
7.14、用Panache
find和list方法查找实体
7.15、用Panache
count方法获取实体计数
7.16、用Panache
page方法对实体列表进行分页
7.17、用Panache
stream方法对结果进行流处理
7.18、测试Panache实体
7.19、使用数据访问对象和repository模式
7.20、使用Amazon
DynamoDB
7.21、使用MongoDB
7.22、用Panache连接MongoDB
7.23、使用Neo4j
7.24、使用Flyway
7.25、以程序化的方式使用Flyway
第8章:容错
8.1、自动重试
8.2、超时
8.3、使用舱壁模式进行过载保护
8.4、使用断路器模式避免故障传递
8.5、禁用容错功能
第9章:可观察性
9.1、使用自动化健康检查
9.2、创建自定义健康检查
9.3、暴露指标
9.4、创建指标
9.5、使用分布式跟踪
9.6、自定义分布式跟踪
第10章:与Kubernetes集成
10.1、构建和推送容器镜像
10.2、生成Kubernetes资源
10.3、生成带有健康检查的Kubernetes资源
10.4、在Kubernetes上部署服务
10.5、在OpenShift上部署服务
10.6、自动构建和部署容器镜像
10.7、通过Kubernetes配置应用程序
10.8、使用配置扩展通过Kubernetes配置应用程序
10.9、以程序化的方式与Kubernetes集群进行交互
10.10、测试Kubernetes
Client交互
10.11、实现一个Kubernetes
Operator
10.12、用Knative部署和管理无服务器工作负载
第11章:认证与授权
11.1、使用Elytron属性文件配置进行认证和授权
11.2、使用Elytron
Security
JDBC配置进行认证和授权
11.3、使用MicroProfile
JWT进行授权
11.4、使用OpenId
Connect进行授权和认证
11.5、使用OpenId
Connect保护网络资源
第12章:应用程序密钥管理
12.1、使用Kubernetes中的secret存储数据
12.2、使用Vault安全地存储配置的secret
12.3、密码即服务
12.4、生成数据库密码并存入secret
12.5、使用Vault
Kubernetes
Auth进行认证服务
第13章:Quarkus
REST客户端
13.1、使用JAX-RS
Web客户端
13.2、使用MicroProfile
REST客户端
13.3、实现CRUD客户端
13.4、操作header
13.5、使用REST客户端处理多部分消息
13.6、使用REST客户端配置SSL
第14章:使用Spring
API开发Quarkus应用程序
14.1、使用Spring依赖注入
14.2、使用Spring
Web
14.3、使用Spring
Data
JPA
14.4、使用Spring
Security
14.5、使用Spring
Boot属性
第15章:使用响应式编程模型
15.1、创建异步HTTP端点
15.2、异步流式数据传输
15.3、使用消息传递解耦组件
15.4、响应Apache
Kafka消息
15.5、向Apache
Kafka发送消息
15.6、序列化与反序列化
15.7、使用Kafka
Streams
API
15.8、使用AMQP
15.9、使用MQTT
15.10、使用响应式SQL进行查询
15.11、使用响应式SQL客户端进行插入
15.12、使用响应式MongoDB客户端
15.13、使用响应式Neo4j客户端
第16章:Quarkus的附加功能
16.1、使用Qute模板引擎创建模板
16.2、使用Qute渲染HTML
16.3、更改Qute模板的位置
16.4、扩展Qute数据类
16.5、用OpenAPI描述端点
16.6、自定义OpenAPI规范
16.7、同步发送电子邮件
16.8、以响应式方式发送电子邮件
16.9、创建调度任务
16.10、使用应用程序数据缓存
附录A
minikube
附录B
Keycloak
附录C
Knative
关于作者
关于封面