Quarkus实战:专为Kubernetes而优化的Java解决方案

Quarkus实战:专为Kubernetes而优化的Java解决方案

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

以“问题-解决方案-讨论”的方式,展示如何利用Quarkus快速提高工作效率和创建可扩展的云原生应用程序。

内容简介

Quarkus建立在我们已经实现的基础技术之上。它使用JPA,JAX-RS,Eclipse Vert.x,Eclipse MicroProfile和CDI等一些熟悉的技术,将这些知识结合到一个适当的,易于部署的,针对OpenJDK您可以高效利用Kubernetes,在应用程序需要扩展时,极大限度地利用机器上的资源。

作者简介

章节目录

版权信息

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

关于作者

关于封面

Quarkus实战:专为Kubernetes而优化的Java解决方案是2021年由机械工业出版社华章公司出版,作者[西班牙] 亚历克斯·索托·布埃诺。

得书感谢您对《Quarkus实战:专为Kubernetes而优化的Java解决方案》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Android性能优化入门与实战 电子书
全面剖析Android App性能优化技术。
Java EE核心框架实战(第2版) 电子书
本书宗旨 提高读者学习Java EE的效率,增强其项目实战能力。本书摒弃了软件公司中不常用或不实用的技术,而是采用近200个开发案例,为读者讲解了开发商业软件的知识,帮助读者进行“精要”式的学习,汲取Java EE的思想,正确地进行项目实战。 本书特色 不留遗漏——覆盖主流Java EE轻量级框架 直击要害——实战化案例精准定位开发细节 学以致用——精要式项目确保开发/ 学习不脱节 潜移默化——研磨式知识讲解参透技术要点 提升效率——垂直式技术精解不绕弯路 循序提升——渐进式知识点统排确保连贯 以点概面——解决方案式项目,知识独立却又体系完整 成功案例——全面经过项目过程锤炼,提升学习/ 开发效率
冲榜!——苹果应用商店优化(ASO)实战 电子书
本书分享了大量ASO实践技巧,包括App Store搜索优化、转化率优化、人工干预优化、榜单优化、App Store Connect的使用、如何与苹果官方打交道等内容。
Kubernetes从入门到实践 电子书
结合示例代码,系统讲述Kubernetes的主要功能和核心组件,有助于读者迅速提升运维技能。
Java编程技术与项目实战(第2版) 电子书
本书从Java语言的基本特点入手,全面介绍了Java语言的基本概念和编程方法,并扼要介绍了Java的高特。全书内容涉及Java基本语法、数据类型、异常、界面设计、小应用程序、I/O数据流、线程等内容,这些内容基本覆盖了Java的实用技术,是进一步使用Java进行技术开发的基础。