• Quarkus实践指南:构建新一代的Kubernetes原生Java微服务
  • Quarkus实践指南:构建新一代的Kubernetes原生Java微服务
  • Quarkus实践指南:构建新一代的Kubernetes原生Java微服务
  • Quarkus实践指南:构建新一代的Kubernetes原生Java微服务
  • Quarkus实践指南:构建新一代的Kubernetes原生Java微服务
21年品牌 40万+商家 超1.5亿件商品

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

批量上传,套装书可能不全,下单前咨询在线客服!有特殊要求,下单前请咨询客服!

62.32 4.8折 129 全新

库存3件

江西南昌
认证卖家担保交易快速发货售后保障

作者任钢

出版社电子工业出版社

ISBN9787121418037

出版时间2021-09

装帧平装

开本16开

定价129元

货号29298281

上书时间2024-11-02

思源汇书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

推荐序一
Java,作为经久不衰的程序设计语言,以其面向对象、跨平台、分布式、高性能、组件化、动态特性等诸多特点,在企业计算、个人计算、移动计算等领域,一直备受开发者青睐。以Java语言为蓝本,在软件工程方法、设计模式等领域的迭代与发展,更是层出不穷。Java语言,在近三十年的发展历程中,形成了诸多被工业界广泛接受的标准和框架,为开发大型应用提供了便利,屏蔽了计算机底层技术的复杂性,使开发者可以更专注于业务逻辑,可以快速、高效地开发应用,以及稳定、可靠地运行应用。因此,在软件行业中,多年来也培养出、成长起一大批具有Java开发背景的软件工程师、架构师、管理者。这些从业者形成了强大的Java开发者社区,推动着Java语言不断向前发展。
历史的车轮不断向前,从传统的企业计算,到云计算,再到雾计算,计算无处不在。应用架构从传统的单体应用、三层架构走向分布式、微服务、无服务器架构,架构不断演变,从“大而全”转向“小而多”,便于应用的快速开发、迭代、集成、上线。因此,对于程序设计语言及其开发框架来说,也提出了适应时代发展的新要求,比如为了使应用可以更快地启动、运行时占用更少的内存以便大量的应用可以同时运行,语言及其框架需要做出一些改变,等等。传统的Java框架在这种新需求下显得有些“厚重”了,如何让其“瘦身”,成为Java社区的热点。
Quarkus正是在这样的背景下应运而生的,我们可以称它为云原生时代的Java框架,或者“超音速亚原子Java框架”,这恰恰说明了Quarkus的两个重要的特点,一个是“快”,一个是“小”。具体的Quarkus是什么?它有哪些优点?它是如何应用的?相信你一定很好奇,带着疑问阅读本书吧,你必将收获良多。
本书作者以大量的亲身实践,带读者掌握Quarkus技术、走进云原生应用开发的世界。愿我们一起拥抱云原生、拥抱未来!
张家驹
红帽中国首席架构师

推荐序二
在当今这个追求效率和便捷性的互联网时代,阅读这样一本用心撰写的IT图书,让我获益匪浅。作者图、文、码并茂地介绍了Quarkus开发相关知识,可以让读者在追求企业微服务体系规划实施的道路上实现快速学习、弯道超车。
在本书中,详细说明了在微服务应用开发和架构设计中Quarkus是如何结合Redis、MongoDB、Kafka、Message Queue和Vert.x等相关框架,让读者在学习Quarkus知识的同时,具备让Quarkus实际落地实施的能力。我在读完本书后,对作者在微服务体系架构设计、规划实施及管理整合上展现出的能力,感到钦佩不已。
后,本书让我印象深刻的是,作者在介绍Quarkus时所体现出的整体结构规划和深入浅出的表达,这些都让我这个IT老兵能迅速把握书中要点。期待作者持续创作,不断写出在IT界有影响力的图书。
陈明仪(Simon Chen)
亚马逊云科技专业顾问服务团队经理

前言
读者对象
本书适合对Quarkus感兴趣且想在这方面获得更多知识或者实现更多想法的IT从业者。
初级读者,可以通过本书知道如何使用Quarkus进行Web、Data和Message方面的开发,能非常迅速、高效、简单地搭建一个微服务应用系统。
中级读者,如有着丰富开发经验的软件开发工程师等,可以通过本书获得全面的对Quarkus的认识,能构建安全的、集成的、伸缩性和容错能力强的云原生应用。
高级读者,如有着丰富经验的架构师和分析师,可以通过本书知道Quarkus的核心特性,能利用这些特性游刃有余地构建响应式的、高可靠的、高可用的、维护性强的云原生架构体系。
本书尤其适合在Spring上已经有经验积累的工程师,他们几乎可以零成本地又掌握一套基于Java语言的云原生开发工具。从笔者的角度来看,Quarkus非常容易上手,读者如果有一些工作经验,曾经用类似的工具(如Spring等)进行过软件开发,那么将能非常快速地掌握Quarkus的使用方法。
本书定位
本书是一本Quarkus开发指南,简单地说,就是告诉读者如何快速、高效和精准地进行Quarkus开发。本书中实践内容占九成,而理论知识提及较少,因此本书是一本实践性和可操作性强的图书。本书既可以作为学习Quarkus的教程,也可以作为架构师的参考手册,以备不时之需。
本书以案例为基础,包含了案例程序的源码、讲解和验证。针对各个案例,笔者并没有简单地贴源码,而是以源码、图示和文字说明相结合的方式进行了详细解析,帮助读者理解案例总体思路和设计意图。
Quarkus官网上有非常多案例,让人眼花缭乱,那么笔者为什么会选择书中的这些案例进行讲解呢?这是因为笔者根据自己的实际工作经验进行了筛选。如果要开发一个云原生微服务应用,那么需要网络支持、数据支持(包括关系型数据库、缓存数据库、NoSQL数据库等)和安全框架,实现这些基本上就能够完成一个云原生微服务系统的大部分功能。如果涉及异步处理或事件处理,还可以加上一个消息组件或流组件。更进一步地,如果还有更高级的用法,那就接着添加容错、监控、非阻塞等组件。上述这些知识基本上都被笔者精选的案例所囊括。可以说,笔者选择的案例已经可以覆盖80%~90%的云原生微服务应用开发相关内容。
本书中反复提及Java的规范和标准。在IT世界中,各种开源平台和产品层出不穷,而且进行着快速迭代。学习每个平台和产品都需要时间成本和投入精力,但是很多时候往往是,开发者非常辛苦地学习了一套平台的用法,没想到稍过一段时间,就发现所学技术或技能已经落后。而在Java领域中,学习相关规范和标准能让学习成本变低,让我们更快、更容易地学习技术和技能。
如何使用本书
本书中的每个案例都是一个故事,讲故事有很多种方法,就好似不同的导演拍同一个电影题材所展现给观众的故事都不一样。笔者讲故事的总体思路是这样的:首先概述这个故事的目的、组成、环境(上下文);然后重点分析这个故事的要点及实现,还会提供一两张图来描述整个故事的发展过程;后笔者会给出验证环节的实现。这样读者花非常少的时间和精力就可以进行具体的实践。
本书还是一本软件编程书。编程是一项实践性强的活动,讲100句道理也不如写上10行代码。本书中的每个案例都有验证环节,也就是让读者亲手实践,而且针对这些环节,笔者还准备了相关代码,读者可以看到结果是否与设想一致。读者也许很容易就能看明白书中的文字和图示部分,可是具体实操时,却发现好像不是那么回事,笔者也曾经历过这样的事。因此,要不断地分析、排错,在踩过无数个“坑”后,终实现自己想要的效果。笔者笃信:纸上得来终觉浅,绝知此事要躬行。这也是编程的真谛。
在开始具体的案例之旅前,笔者强烈建议读者阅读第2章的“2.4 应用案例说明”一节,其中包含了各个具体案例的总体说明,是关于所有案例的应用场景、原则和规则的通用说明。读者若能明白这些内容,就能更轻松、方便、高效地理解各个案例的核心含义,从而达到事半功倍的效果。
本书结构
本书总共12章,首先是Quarkus概述,可以让读者从整体上认识Quarkus;其次是对Quarkus的初探;再次是本书的主要部分,将详细讲解如何在Quarkus中进行Web、Data、Message、Security、Reactive、Tolerance、Health、Tracing、Spring集成等应用场景的开发和实现;接着将介绍Quarkus在云原生应用场景下的实施和部署;后引出一个更高级的话题——Quarkus Extension。各章简介如下。
第1章 Quarkus概述
首先将介绍Quarkus的概念和特征;其次将简单介绍Quarkus的整体优势;再次将阐述Quarkus的适用场景、目标用户和竞争对手;接着将探讨为什么Java开发者会选择Quarkus;后将介绍Quarkus的架构和核心概念。
第2章 Quarkus开发初探
首先将给出开发hello world微服务全过程;其次将介绍Quarkus开发基础,主要使用6个基础开发案例来进行讲解;再次将介绍用Quarkus实现GoF设计模式的案例;后是对应用案例的整体说明,可以认为这部分内容是整本书实战案例的导读。
第3章 开发REST/Web应用
将分别介绍如何在Quarkus中开发REST JSON服务、增加OpenAPI和SwaggerUI功能、编写GraphQL应用、编写WebSocket应用,包含案例的源码、讲解和验证。
第4章 数据持久化开发
将分别介绍如何在Quarkus中使用Hibernate ORM和JPA实现数据持久化、使用Java事务、使用Redis Client实现缓存处理、使用MongoDB Client实现NoSQL处理、使用Panache实现数据持久化等,包含案例的源码、讲解和验证。
第5章 整合消息流和消息中间件
将分别介绍如何在Quarkus中调用Apache Kafka消息流、创建JMS应用实现队列模式、创建JMS应用实现主题模式和创建MQTT应用等,包含案例的源码、讲解和验证。
第6章 构建安全的Quarkus微服务
首先将对微服务Security进行概述并介绍Quarkus的Security架构;其次将分别介绍如何在Quarkus中实现基于文件存储用户信息的安全认证、基于数据库存储用户信息并采用JDBC获取的安全认证、基于数据库存储用户信息并用JPA获取的安全认证、基于Keycloak实现认证和授权、使用OpenID Connect实现安全的JAX-RS服务、使用OpenID Connect实现安全的Web应用、使用JWT加密令牌、使用OAuth 2.0实现认证等,包含案例的源码、讲解和验证。
第7章 构建响应式系统应用
首先将简介响应式系统;其次将简介Quarkus响应式应用;再次将分别介绍如何在Quarkus中创建响应式JAX-RS应用、响应式SQL Client应用、响应式Hibernate应用、响应式Redis应用、响应式MongoDB应用、响应式Apache Kafka应用、响应式AMQP应用等,包含案例的源码、讲解和验证;后将介绍Quarkus响应式基础框架Vert.x的应用,包含案例的源码、讲解和验证。
第8章 Quarkus微服务容错机制
首先将简介微服务容错;然后将介绍如何在Quarkus中开发包括重试、超时、回退、熔断器和舱壁隔离等微服务容错的应用,包含案例的源码、讲解和验证。
第9章 Quarkus监控和日志
首先将介绍Quarkus中的健康监控,其次将介绍Quarkus中的监控度量,后将介绍Quarkus中的调用链日志。这些应用都包含案例的源码、讲解和验证。
第10章 集成Spring到Quarkus中
将分别介绍如何在Quarkus中整合Spring的DI功能、Web功能、Data功能、安全功能,以及获取Spring Boot的配置文件属性功能、获取Spring Cloud的Config Server配置文件属性功能,包含案例的源码、讲解和验证。
第11章 Quarkus的云原生应用和部署
将分别介绍如何在Quarkus中构建容器镜像、生成Kubernetes资源文件、生成OpenShift资源文件、生成Knative资源文件等,包含案例的源码、讲解和验证。
第12章 高级应用——Quarkus Extension
首先将概述Quarkus Extension;然后将介绍如何创建一个Quarkus扩展应用,包含案例的源码、讲解和验证;后是一些关于Quarkus Extension的说明。
参考文献
将列出本书参考文献,以及本书中会涉及的基于Quarkus应用的软件或平台,如果读者需要了解更多细节,可以查阅相关文献和资料。
后记
Quarkus还处于不断发展的过程中,本部分将告诉读者如何使本书中的案例与Quarkus版本保持同步更新。
勘误和支持
由于笔者水平有限,而且本书中所描述的产品也在快速发展过程中,因此书中的纰漏和错误在所难免,希望读者能给予批评和指正。
笔者的联系方式为rengang66@sina.com。



导语摘要

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的基础上扩展外部组件。

本书适合对Quarkus感兴趣且想在这方面获得更多知识或者实现更多想法的IT从业者,尤其适合那些在Spring框架上已经有所积累的工程师。



作者简介

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



目录

目录



第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.

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP