作 者:任钢 著
定 价:129
出 版 社:电子工业出版社
出版日期:2021年09月01日
页 数:544
装 帧:平装
ISBN:9787121418037
●第1章Quarkus概述1
1.1Quarkus的概念和特征1
1.2Quarkus的整体优势3
1.3Quarkus的适用场景、目标用户和竞争对手5
1.4为什么Java开发者会选择Quarkus7
1.5Quarkus的架构和核心概念8
1.6本章小结11
第2章Quarkus开发初探12
2.1开发helloworld微服务全过程12
2.1.13种开发方式12
2.1.2编写程序内容及说明15
2.1.3测试helloworld微服务17
2.1.4运行程序及打包19
2.2Quarkus开发基础21
2.2.1Quarkus的CDI应用21
2.2.2Quarkus命令模式30
2.2.3Quarkus应用程序生命周期34
2.2.4Quarkus配置文件36
2.2.5Quarkus日志配置40
2.2.6缓存系统数据43
2.2.7基础开发案例46
2.3GoF设计模式的Quarkus实现47
2.3.1GoF设计模式简介47
2.3.2GoF设计模式案例的Quarkus源码结构及演示47
2.3.3案例场景、说明和Quarkus源码实现51
2.4应用案例说明73
2.4.1应用案例场景说明73
2.4.2应用案例简要介绍75
2.4.3与应用案例相关的软件和须遵循的规范78
2.4.4应用案例的演示和调用84
2.4.5应用案例的解析说明86
2.5本章小结88
第3章开发REST/Web应用90
3.1编写RESTJSON服务90
3.1.1案例简介90
3.1.2编写程序代码92
3.1.3验证程序98
3.1.4Quarkus的Web实现原理讲解99
3.2增加OpenAPI和SwaggerUI功能100
3.2.1案例简介101
3.2.2编写程序代码102
3.2.3验证程序103
3.3编写GraphQL应用107
3.3.1案例简介107
3.3.2编写程序代码107
3.3.3验证程序113
3.4编写WebSocket应用121
3.4.1案例简介121
3.4.2编写程序代码122
3.5本章小结128
第4章数据持久化开发130
4.1使用HibernateORM和JPA实现数据持久化130
4.1.1前期准备130
4.1.2案例简介132
4.1.3编写程序代码133
4.1.4验证程序141
4.1.5其他数据库配置的实现142
4.1.6关于其他ORM实现146
4.2使用Java事务146
4.2.1Quarkus事务管理146
4.2.2案例简介149
4.2.3编写程序代码150
4.2.4验证程序155
4.2.5JTA事务的多种实现156
4.3使用RedisClient实现缓存处理161
4.3.1前期准备161
4.3.2案例简介162
4.3.3编写程序代码162
4.3.4验证程序166
4.4使用MongoDBClient实现NoSQL处理168
4.4.1前期准备168
4.4.2案例简介169
4.4.3编写程序代码170
4.4.4验证程序175
4.5使用Panache实现数据持久化177
4.5.1前期准备177
4.5.2案例简介177
4.5.3编写程序代码177
4.5.4验证程序183
4.6本章小结185
第5章整合消息流和消息中间件186
5.1调用ApacheKafka消息流186
5.1.1前期准备186
5.1.2案例简介188
5.1.3编写程序代码190
5.1.4验证程序198
5.2创建JMS应用实现队列模式200
5.2.1前期准备200
5.2.2案例简介203
5.2.3编写程序代码205
5.2.4验证程序211
5.3创建JMS应用实现主题模式213
5.3.1前期准备213
5.3.2案例简介213
5.3.3编写程序代码214
5.3.4验证程序220
5.4创建MQTT应用221
5.4.1前期准备221
5.4.2案例简介222
5.4.3编写程序代码223
5.4.4验证程序228
5.5本章小结229
第6章构建安全的Quarkus微服务231
6.1微服务Security概述231
6.2QuarkusSecurity架构232
6.2.1QuarkusSecurity架构概述232
6.2.2QuarkusSecurity支持的身份认证233
6.2.3API令牌方案概述234
6.3基于文件存储用户信息的安全认证235
6.3.1案例简介235
6.3.2编写程序代码236
6.3.3验证程序240
6.4基于数据库存储用户信息并用JDBC获取的安全认证241
6.4.1案例简介241
6.4.2编写程序代码242
6.4.3验证程序244
6.5基于数据库存储用户信息并用JPA获取的安全认证246
6.5.1案例简介246
6.5.2编写程序代码247
6.5.3验证程序253
6.6基于Keycloak实现认证和授权255
6.6.1前期准备255
6.6.2案例简介258
6.6.3编写程序代码266
6.6.4验证程序270
6.7使用OpenIDConnect实现安全的JAX-RS服务274
6.7.1案例简介274
6.7.2编写程序代码276
6.7.3验证程序280
6.8使用OpenIDConnect实现安全的Web应用283
6.8.1案例简介283
6.8.2编写程序代码284
6.8.3验证程序287
6.9使用JWT加密令牌289
6.9.1案例简介289
6.9.2编写程序代码290
6.9.3验证程序295
6.10使用OAuth2.0实现认证298
6.10.1前期准备298
6.10.2案例简介298
6.10.3编写程序代码299
6.10.4验证程序303
6.11本章小结309
第7章构建响应式系统应用310
7.1响应式系统简介310
7.2Quarkus响应式应用简介317
7.2.1Quarkus的响应式总体架构317
7.2.2Quarkus中整合的响应式框架和规范317
7.2.3使用Quarkus实现响应式API320
7.3创建响应式JAX-RS应用325
7.3.1案例简介325
7.3.2编写程序代码326
7.3.3验证程序332
7.4创建响应式SQLClient应用334
7.4.1前期准备334
7.4.2案例简介335
7.4.3编写程序代码335
7.4.4验证程序340
7.5创建响应式Hibernate应用342
7.5.1前期准备342
7.5.2案例简介342
7.5.3编写程序代码343
7.5.4验证程序348
7.6创建响应式Redis应用350
7.6.1前期准备350
7.6.2案例简介350
7.6.3编写程序代码350
7.6.4验证程序356
7.7创建响应式MongoDB应用357
7.7.1前期准备357
7.7.2案例简介357
7.7.3编写程序代码357
7.7.4验证程序363
7.8创建响应式ApacheKafka应用364
7.8.1前期准备364
7.8.2案例简介364
7.8.3编写程序代码368
7.8.4验证程序373
7.9创建响应式AMQP应用374
7.9.1前期准备374
7.9.2案例简介374
7.9.3编写程序代码375
7.9.4验证程序380
7.10Quarkus响应式基础框架Vert.x的应用382
7.10.1案例简介383
7.10.2编写程序代码384
7.10.3Vert.xAPI应用讲解和验证385
7.10.4WebClient应用讲解和验证389
7.10.5routes应用讲解和验证391
7.10.6EventBus应用讲解和验证394
7.10.7stream应用讲解和验证396
7.10.8pgclient应用讲解和验证397
7.10.9delay应用讲解和验证402
7.10.10JSON应用讲解和验证404
7.11本章小结405
第8章Quarkus微服务容错机制406
8.1微服务容错简介406
8.2Quarkus容错的实现407
8.2.1案例简介407
8.2.2编写程序代码408
8.2.3Quarkus重试的实现和验证409
8.2.4Quarkus超时和回退的实现和验证412
8.2.5Quarkus熔断器的实现和验证415
8.2.6Quarkus舱壁隔离的实现418
8.3本章小结418
第9章Quarkus监控和日志419
9.1Quarkus的健康监控419
9.1.1案例简介419
9.1.2编写程序代码420
9.1.3验证程序424
9.2Quarkus的监控度量427
9.2.1案例简介427
9.2.2编写程序代码427
9.2.3验证程序429
9.3Quarkus的调用链日志432
9.3.1案例简介432
9.3.2编写程序代码434
9.3.3验证程序437
9.4本章小结438
第10章集成Spring到Quarkus中439
10.1整合Spring的DI功能439
10.1.1案例简介439
10.1.2编写程序代码439
10.1.3验证程序445
10.2整合Spring的Web功能447
10.2.1案例简介447
10.2.2编写程序代码448
10.2.3验证程序452
10.3整合Spring的Data功能453
10.3.1案例简介453
10.3.2编写程序代码454
10.3.3验证程序460
10.4整合Spring的安全功能461
10.4.1案例简介461
10.4.2编写程序代码462
10.4.3验证程序465
10.5获取SpringBoot的配置文件属性功能466
10.5.1案例简介466
10.5.2编写程序代码467
10.5.3验证程序470
10.6获取SpringCloud的ConfigServer配置文件属性功能471
10.6.1案例简介471
10.6.2编写程序代码472
10.6.3验证程序474
10.7本章小结475
第11章Quarkus的云原生应用和部署476
11.1构建容器镜像476
11.1.1Quarkus构建容器镜像概述476
11.1.2案例简介479
11.1.3编写程序代码480
11.1.4创建Docker容器镜像并运行容器程序481
11.2生成Kubernetes资源文件482
11.2.1Quarkus在Kubernetes上部署云原生应用482
11.2.2案例简介483
11.2.3编写程序代码486
11.2.4创建Kubernetes部署文件并将其部署到Kubernetes中489
11.3生成OpenShift资源文件492
11.3.1Quarkus在OpenShift中部署云原生应用492
11.3.2案例简介492
11.3.3编写程序代码493
11.3.4创建OpenShift部署文件并将其部署到OpenShift中494
11.4生成Knative资源文件499
11.4.1Quarkus生成Knative部署文件499
11.4.2案例简介499
11.4.3编写程序代码501
11.4.4创建Knative部署文件并将其部署到Kubernetes中502
11.5本章小结504
第12章高级应用――QuarkusExtension505
12.1QuarkusExtension概述505
12.1.1QuarkusExtension的哲学505
12.1.2QuarkusExtension基本概念506
12.1.3QuarkusExtension的组成507
12.1.4启动Quarkus应用程序507
12.2创建一个Quarkus扩展应用508
12.2.1案例简介508
12.2.2编写程序代码508
12.2.3验证程序516
12.3一些关于QuarkusExtension的说明517
12.4本章小结517
后记519
参考文献521
Quarkus是一个来自RedHat公司的超音速亚原子Kurbernetes原生Java框架。该框架允许Java开发人员结合容器、微服务和Kurbernetes的能力来构建可靠的、高性能的、快速的云原生应用和Serverless应用。本书是一本Quarkus开发指南,涵盖了使用Quarkus所需的大部分知识,书中的所有主题都配有典型案例,全书一共包含50多个案例。全书共12章,第1章是Quarkus概述,可以从整体上认识Quarkus;第2章是对Quarkus的初探,将使用Quarkus构建一个微服务并开发一些基础应用;第3章至第10章是本书的主要部分,将详细讲解如何在Quarkus架构上进行Web、Data、Message、Security、Reactive、Tolerance、Health、Tracing、Spring集成等应用场景的开发和实现;第11章将介绍Quarkus在云原生应用等