Quarkus實踐指南:構建新一代的Kubernetes原生Java微服務

Quarkus實踐指南:構建新一代的Kubernetes原生Java微服務

《Quarkus實踐指南:構建新一代的Kubernetes原生Java微服務》是2021年9月電子工業出版社出版圖書,作者是任鋼。

基本介紹

  • 中文名:Quarkus實踐指南:構建新一代的Kubernetes原生Java微服務
  • 作者:任鋼
  • 出版社:電子工業出版社
  • 出版時間:2021年9月
  • 頁數:544 頁
  • 定價:129 元
  • 開本:16 開
  • ISBN:9787121418037
內容簡介,圖書目錄,作者簡介,

內容簡介

一本Quarkus開發指南,涵蓋了使用Quarkus所需的大部分知識,書中的所有主題都配有典型案例,全書一共包含50多個案例

圖書目錄

第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

作者簡介

任鋼,教授級高工,國家認證的架構設計師、系統分析師和信息項目管理師,擁有二十餘年的軟體開發和架構設計經驗,承擔過上百個軟體項目的規劃、設計、開發和交付工作。在某互聯科技公司擔任首席架構師,主要業務方向是提供企業數位化轉型、行業網際網路(物聯網)、雲原生體系、微服務架構等的諮詢服務。

相關詞條

熱門詞條

聯絡我們