注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计Quarkus实践指南:构建新一代的Kubernetes原生Java微服务

Quarkus实践指南:构建新一代的Kubernetes原生Java微服务

Quarkus实践指南:构建新一代的Kubernetes原生Java微服务

定 价:¥129.00

作 者: 任钢 著
出版社: 电子工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787121418037 出版时间: 2021-09-01 包装: 平装
开本: 16开 页数: 544 字数:  

内容简介

  Quarkus是一个来自Red Hat公司的超音速亚原子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在云原生应用场景下的实施和部署;第12章将引出一个更高级的话题——Quarkus Extension,帮助高级开发者在Quarkus的基础上扩展外部组件。

作者简介

  任钢,教授级高工,国家认证的架构设计师、系统分析师和信息项目管理师,拥有二十余年的软件开发和架构设计经验,承担过上百个软件项目的规划、设计、开发和交付工作。现在在某互联科技公司担任首席架构师,主要业务方向是提供企业数字化转型、行业互联网(物联网)、云原生体系、微服务架构等的咨询服务。

图书目录

目录

第1章 Quarkus概述 1
1.1 Quarkus的概念和特征 1
1.2 Quarkus的整体优势 3
1.3 Quarkus的适用场景、目标用户和竞争对手 5
1.4 为什么Java开发者会选择Quarkus 7
1.5 Quarkus的架构和核心概念 8
1.6 本章小结 11
第2章 Quarkus开发初探 12
2.1 开发hello world微服务全过程 12
2.1.1 3种开发方式 12
2.1.2 编写程序内容及说明 15
2.1.3 测试hello world微服务 17
2.1.4 运行程序及打包 19
2.2 Quarkus开发基础 21
2.2.1 Quarkus的CDI应用 21
2.2.2 Quarkus命令模式 30
2.2.3 Quarkus应用程序生命周期 34
2.2.4 Quarkus配置文件 36
2.2.5 Quarkus日志配置 40
2.2.6 缓存系统数据 43
2.2.7 基础开发案例 46
2.3 GoF设计模式的Quarkus实现 47
2.3.1 GoF设计模式简介 47
2.3.2 GoF设计模式案例的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 编写REST JSON服务 90
3.1.1 案例简介 90
3.1.2 编写程序代码 92
3.1.3 验证程序 98
3.1.4 Quarkus的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.4.3 验证程序 127
3.5 本章小结 128
第4章 数据持久化开发 130
4.1 使用Hibernate ORM和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.1 Quarkus事务管理 146
4.2.2 案例简介 149
4.2.3 编写程序代码 150
4.2.4 验证程序 155
4.2.5 JTA事务的多种实现 156
4.3 使用Redis Client实现缓存处理 161
4.3.1 前期准备 161
4.3.2 案例简介 162
4.3.3 编写程序代码 162
4.3.4 验证程序 166
4.4 使用MongoDB Client实现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 调用Apache Kafka消息流 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.2 Quarkus Security架构 232
6.2.1 Quarkus Security架构概述 232
6.2.2 Quarkus Security支持的身份认证 233
6.2.3 API令牌方案概述 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 使用OpenID Connect实现安全的JAX-RS服务 274
6.7.1 案例简介 274
6.7.2 编写程序代码 276
6.7.3 验证程序 280
6.8 使用OpenID Connect实现安全的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 使用OAuth 2.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.2 Quarkus响应式应用简介 317
7.2.1 Quarkus的响应式总体架构 317
7.2.2 Quarkus中整合的响应式框架和规范 317
7.2.3 使用Quarkus实现响应式API 320
7.3 创建响应式JAX-RS应用 325
7.3.1 案例简介 325
7.3.2 编写程序代码 326
7.3.3 验证程序 332
7.4 创建响应式SQL Client应用 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 创建响应式Apache Kafka应用 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.10 Quarkus响应式基础框架Vert.x的应用 382
7.10.1 案例简介 383
7.10.2 编写程序代码 384
7.10.3 Vert.x API应用讲解和验证 385
7.10.4 WebClient应用讲解和验证 389
7.10.5 routes应用讲解和验证 391
7.10.6 EventBus应用讲解和验证 394
7.10.7 stream应用讲解和验证 396
7.10.8 pgclient应用讲解和验证 397
7.10.9 delay应用讲解和验证 402
7.10.10 JSON应用讲解和验证 404
7.11 本章小结 405
第8章 Quarkus微服务容错机制 406
8.1 微服务容错简介 406
8.2 Quarkus容错的实现 407
8.2.1 案例简介 407
8.2.2 编写程序代码 408
8.2.3 Quarkus重试的实现和验证 409
8.2.4 Quarkus超时和回退的实现和验证 412
8.2.5 Quarkus熔断器的实现和验证 415
8.2.6 Quarkus舱壁隔离的实现 418
8.3 本章小结 418
第9章 Quarkus监控和日志 419
9.1 Quarkus的健康监控 419
9.1.1 案例简介 419
9.1.2 编写程序代码 420
9.1.3 验证程序 424
9.2 Quarkus的监控度量 427
9.2.1 案例简介 427
9.2.2 编写程序代码 427
9.2.3 验证程序 429
9.3 Quarkus的调用链日志 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 获取Spring Boot的配置文件属性功能 466
10.5.1 案例简介 466
10.5.2 编写程序代码 467
10.5.3 验证程序 470
10.6 获取Spring Cloud的Config Server配置文件属性功能 471
10.6.1 案例简介 471
10.6.2 编写程序代码 472
10.6.3 验证程序 474
10.7 本章小结 475
第11章 Quarkus的云原生应用和部署 476
11.1 构建容器镜像 476
11.1.1 Quarkus构建容器镜像概述 476
11.1.2 案例简介 479
11.1.3 编写程序代码 480
11.1.4 创建Docker容器镜像并运行容器程序 481
11.2 生成Kubernetes资源文件 482
11.2.1 Quarkus在Kubernetes上部署云原生应用 482
11.2.2 案例简介 483
11.2.3 编写程序代码 486
11.2.4 创建Kubernetes部署文件并将其部署到Kubernetes中 489
11.3 生成OpenShift资源文件 492
11.3.1 Quarkus在OpenShift中部署云原生应用 492
11.3.2 案例简介 492
11.3.3 编写程序代码 493
11.3.4 创建OpenShift部署文件并将其部署到OpenShift中 494
11.4 生成Knative资源文件 499
11.4.1 Quarkus生成Knative部署文件 499
11.4.2 案例简介 499
11.4.3 编写程序代码 501
11.4.4 创建Knative部署文件并将其部署到Kubernetes中 502
11.5 本章小结 504
第12章 高级应用――Quarkus Extension 505
12.1 Quarkus Extension概述 505
12.1.1 Quarkus Extension的哲学 505
12.1.2 Quarkus Extension基本概念 506
12.1.3 Quarkus Extension的组成 507
12.1.4 启动Quarkus应用程序 507
12.2 创建一个Quarkus扩展应用 508
12.2.1 案例简介 508
12.2.2 编写程序代码 508
12.2.3 验证程序 516
12.3 一些关于Quarkus Extension的说明 517
12.4 本章小结 517
后记 519
参考文献 521

本目录推荐