Quarkus實踐指南:構建新一代的Kubernetes原生Java微服務 版權信息
- ISBN:9787121418037
- 條形碼:9787121418037 ; 978-7-121-41803-7
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
Quarkus實踐指南:構建新一代的Kubernetes原生Java微服務 本書特色
適讀人群 :本書適合對Quarkus感興趣且想在這方面獲得更多知識或者實現更多想法的IT從業者,尤其適合那些在Spring框架上已經有所積累的工程師。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實踐指南:構建新一代的Kubernetes原生Java微服務 內容簡介
Quarkus是一個來自Red Hat公司的超音速亞原子Kurbernetes原生Java框架。該框架允許Java開發人員結合容器、微服務和Kurbernetes的能力來構建可靠的、高性能的、快速的云原生應用和Serverless應用。本書是一本Quarkus開發指南,涵蓋了使用Quarkus所需的大部分知識,書中的所有主題都配有典型案例,全書一共包含50多個案例。全書共12章,章是Quarkus概述,可以從整體上認識Quarkus;第2章是對Quarkus的初探,將使用Quarkus構建一個微服務并開發一些基礎應用;第3章至0章是本書的主要部分,將詳細講解如何在Quarkus架構上進行Web、Data、Message、Security、Reactive、Tolerance、Health、Tracing、Spring集成等應用場景的開發和實現;1章將介紹Quarkus在云原生應用場景下的實施和部署;2章將引出一個更不錯的話題――Quarkus Extension,幫助不錯開發者在Quarkus的基礎上擴展外部組件。
Quarkus實踐指南:構建新一代的Kubernetes原生Java微服務 目錄
目錄
第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微服務 節選
推薦序一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實踐指南:構建新一代的Kubernetes原生Java微服務 作者簡介
任鋼,教授級高工,國家認證的架構設計師、系統分析師和信息項目管理師,擁有二十余年的軟件開發和架構設計經驗,承擔過上百個軟件項目的規劃、設計、開發和交付工作。現在在某互聯科技公司擔任首席架構師,主要業務方向是提供企業數字化轉型、行業互聯網(物聯網)、云原生體系、微服務架構等的咨詢服務。
- >
名家帶你讀魯迅:朝花夕拾
- >
中國人在烏蘇里邊疆區:歷史與人類學概述
- >
自卑與超越
- >
羅庸西南聯大授課錄
- >
姑媽的寶刀
- >
小考拉的故事-套裝共3冊
- >
史學評論
- >
詩經-先民的歌唱