Quarkus实践指南:构建新一代的Kubernetes原生Java微服务(博文视点出品)

Quarkus实践指南:构建新一代的Kubernetes原生Java微服务(博文视点出品)

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

    关注微信公众号

因版权原因待上架

编辑推荐

Quarkus优点:1.Quarkus是自带云原生基因的Java框架2.Quarkus是2020年zui活跃的微服务框架平台3.Quarkus启动快,占用内存少,其性能可与其他原生开发语言(如Go语言)相媲美3.Quarkus的底层基于响应式非阻塞架构,可实现响应式和命令式混合编程4.Quarkus提供了实时重载和零配置,可提高生产力,增加了编程乐趣5.Quarkus的学习曲线平缓,对于Spring开发者来说,几乎可以无成本掌握这一技术6.Quarkus兼容和整合了常用Java软件框架,拥有400多个扩展框架本书特点:1.内容覆盖软件开发中80%以上的技术应用场景2.以图形、源码、文字说明相结合的方式进行讲解,大部分案例配有UML图例,可高效掌握每个案例的精髓3.主要以源码案例说明为主,全书包含50多个编程案例、1万多行代码4.每个案例讲解都包含技术背景、原理、相关规范解析、验证过程和辅助验证工具等内容,方便读者不费力地上手实践

内容简介

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

Quarkus实践指南:构建新一代的Kubernetes原生Java微服务(博文视点出品)是5600年由电子工业出版社出版,作者任钢。

得书感谢您对《Quarkus实践指南:构建新一代的Kubernetes原生Java微服务(博文视点出品)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
新一代SDN:VMwareNSX网络原理与实践 电子书
本书适合网络和虚拟化设计架构师、项目实施工程师和IT管理人员阅读。
深入理解Spring Cloud与微服务构建 电子书
适读人群 :本书既适合Spring Cloud初学者入门使用,又适合正在做微服务实践的架构师或打算实施微服务的团队作为参考用书,同时也可作为高等院校计算机相关专业的师生用书和培训学校的教材。 1. 深入浅出讲解Spring Cloud组件、开发工具、框架等知识点。 2. 使读者全面理解微服务的构建原理。 3. 实例丰富,解释清晰,易于读者真正理解原理,并学以致用。 4. 深入讲解Spring Cloud OAuth2,直击市场需求痛点。
数据结构(Java语言描述)(微课版) 电子书
本书全面、系统地介绍了数据结构的基础理论和算法设计方法,以及数据结构的应用、算法性能评价等内容,使读者进一步理解数据抽象与编程实现的关系,提高用计算机解决实际问题的能力。本书共10章,分为4个部分。第1部分(第1章)介绍数据结构和算法的基本概念等;第2部分(第2章~第7章)详细讲解不同类型的数据结构,包含线性结构(线性表、链表、栈、队列、串、数组、广义表)和非线性结构(树、图);第3部分(第8章~
Java Web动态网站开发(微课版) 电子书
本书从初学者的角度出发,通过通俗易懂的语言、丰富多彩的案例,详细介绍了进行JavaWeb应用开发应掌握的各方面技术。全书共分8个项目,主要内容包括开发环境的搭建,JSP语法基础,JSP内置对象的使用,JavaBean技术的应用,JDBC数据库接口的使用,Servlet技术的应用,以及两个综合案例的开发讲解。
Java语言程序设计与实现(微课版) 电子书
本书将Java的精髓知识分解为14个项目,划分成三部分:项目一~项目七为第一部分,围绕Java面向对象编程设计基础展开,内容包括Java开发环境的搭建、开发工具Eclipse的使用、Java程序的基本结构、Java基本语法、数据的输入与输出、类与对象的应用、面相对象高级语法的使用、程序异常处理等;项目八~项目十二为第二部分,围绕面向对象程序开发中不同类型的应用实现展开,内容包括Java图形用户界面