Quarkus實戰 : 專為Kubernetes而最佳化的Java解決方案

Quarkus實戰 : 專為Kubernetes而最佳化的Java解決方案

《Quarkus實戰 : 專為Kubernetes而最佳化的Java解決方案》是2021年機械工業出版社出版的圖書,作者是[西班牙]亞歷克斯·索托·布埃諾(Alex Soto)。該書提供了在微服務開發和生產中安裝Quarkus、與Quarkus互動和使用Quarkus的詳細解決方案。

基本介紹

  • 中文名:Quarkus實戰 : 專為Kubernetes而最佳化的Java解決方案義項名:
  • 作者:[西班牙]亞歷克斯·索托·布埃諾(Alex Soto)
  • 出版社:機械工業出版社
  • ISBN:9787111677635 
內容簡介,圖書目錄,作者簡介,

內容簡介

Quarkus 建立在我們已熟知的基礎技術之上。它使用 JPA、JAX-RS、Eclipse Vert.x、Eclipse MicroProfile 和 CDI 等一些熟悉的技術,並將這些技術組合到一個緊湊、易於部署、針對 OpenJDK Hotspot 或 GraalVM 的 Kubernetes 最佳化的容器中。本書首先介紹Quarkus的基礎知識;接著介紹Quarkus的核心部分——使用 CDI 和 Eclipse MicroProfile 構建RESTful應用程式,並展示如何打包應用程式;然後介紹容錯、持久性、安全性、與其他服務的互動以及 Quarkus與Kubernetes的其他集成;最後講述使用Quarkus進行回響式編程,以及框架的一些附加功能,如模板、調度和 OpenAPI。

圖書目錄

序言1
前言3
第1章 Quarkus概述7
1.1 開發者友好7
1.2 與Kubernetes集成8
1.3 記憶體和回響時間8
1.4 Quarkus基本工作流程9
第2章 搭建腳手架10
2.1用Maven搭建Quarkus項目的腳手架10
2.2用Gradle搭建Quarkus項目的腳手架12
2.3 用Quarkus Start Coding網站搭建Quarkus項目的腳手架13
2.4 用Visual Studio Code搭建Quarkus項目的腳手架15
2.5 使用開發模式實時重載19
2.6 提供靜態資源20
第3章 開發RESTful服務22
3.1 創建一個簡單的REST API端點22
3.2 提取請求參數24
3.3 使用HTTP回響狀態碼25
3.4 綁定HTTP方法28
3.5 啟用跨源資源共享29
3.6 使用回響式路由30
3.7攔截HTTP請求33
3.8 使用SSL進行安全連線35
第4章 配置37
4.1使用自定義屬性配置應用程式37
4.2 以程式化的方式訪問配置屬性41
4.3 在外部覆蓋配置值41
4.4 使用profile進行配置43
4.5 修改日誌配置44
4.6 添加應用程式日誌45
4.7 高級日誌配置46
4.8 使用自定義profile進行配置49
4.9 創建自定義配置源51
4.10 創建自定義轉換器53
4.11 配置值的分組55
4.12 驗證配置值57
第5章 編程模型59
5.1 對JSON進行編組和解組59
5.2 對XML進行編組和解組62
5.3 校驗輸入值和輸出值65
5.4 創建自定義校驗69
5.5 以程式化的方式校驗對象71
5.6依賴注入73
5.7 創建工廠類75
5.8 執行對象生命周期事件77
5.9 執行應用程式生命周期事件78
5.10 使用命名限定符79
5.11 使用自定義限定符81
5.12 限定和配置註解82
5.13 創建攔截器83
5.14 行為測試85
5.15 單元測試89
5.16 創建mock對象91
5.17使用Mockito創建mock對象92
5.18用元註解將多個註解組合為一個註解94
5.19 在測試代碼前後執行代碼95
5.20測試本地執行檔101
第6章 打包Quarkus應用程式104
6.1 在命令行模式下運行104
6.2創建一個可運行的JAR檔案106
6.3 über-JAR打包108
6.4 構建原生執行檔108
6.5 為JAR檔案構建一個Docker容器110
6.6 為原生執行檔構建一個Docker容器111
6.7 構建和容器化原生SSL應用程式112
第7章 持久化115
7.1配置數據源115
7.2 使用多個數據源116
7.3 添加數據源的健康檢查117
7.4 定義事務的邊界118
7.5 設定事務的上下文119
7.6 程式化事務控制120
7.7 設定和修改事務逾時時間121
7.8 使用persistence.xml122
7.9 不使用persistence.xml122
7.10 使用不同JAR檔案的實體123
7.11 用Panache持久化數據123
7.12 用Panache listAll方法查找所有實體條目125
7.13 用Panache findById方法查找單個實體125
7.14 用Panache find和list方法查找實體126
7.15 用Panache count方法獲取實體計數127
7.16 用Panache page方法對實體列表進行分頁127
7.17 用Panache stream方法對結果進行流處理128
7.18 測試Panache實體128
7.19 使用數據訪問對象和repository模式129
7.20 使用Amazon DynamoDB130
7.21 使用MongoDB135
7.22 用Panache連線MongoDB139
7.23 使用Neo4j140
7.24 使用Flyway144
7.25 以程式化的方式使用Flyway145
第8章 容錯146
8.1 自動重試146
8.2 逾時148
8.3 使用艙壁模式進行過載保護149
8.4 使用斷路器模式避免故障傳遞151
8.5 禁用容錯功能153
第9章 可觀察性155
9.1 使用自動化健康檢查155
9.2 創建自定義健康檢查157
9.3 暴露指標160
9.4 創建指標162
9.5 使用分散式跟蹤167
9.6 自定義分散式跟蹤173
第10章 與Kubernetes集成176
10.1 構建和推送容器鏡像176
10.2 生成Kubernetes資源179
10.3 生成帶有健康檢查的Kubernetes資源182
10.4 在Kubernetes上部署服務184
10.5 在OpenShift上部署服務185
10.6 自動構建和部署容器鏡像189
10.7 通過Kubernetes配置應用程式190
10.8 使用配置擴展通過Kubernetes配置應用程式192
10.9 以程式化的方式與Kubernetes集群進行互動193
10.10 測試Kubernetes Client互動197
10.11 實現一個Kubernetes Operator198
10.12 用Knative部署和管理無伺服器工作負載211
第11章 認證與授權215
11.1 使用Elytron屬性檔案配置進行認證和授權219
11.2 使用Elytron Security JDBC配置進行認證和授權222
11.3 使用MicroProfile JWT進行授權226
11.4 使用OpenId Connect進行授權和認證232
11.5 使用OpenId Connect保護網路資源236
第12章 應用程式密鑰管理237
12.1 使用Kubernetes中的secret存儲數據237
12.2使用Vault安全地存儲配置的secret240
12.3 密碼即服務243
12.4 生成資料庫密碼並存入secret246
12.5 使用Vault Kubernetes Auth進行認證服務250
第13章 Quarkus RE

作者簡介

Alex Soto Bueno 是Red Hat的開發者體驗總監,自 2017 年以來一直是 Java Champion。Jason Porter 是一名首席軟體工程師,在Red Hat從事中間件工程服務、Arquillian、Quarkus 和其他開發者體驗項目。張曉宇 騰訊雲專家工程師,目前從事騰訊專有雲場景下的雲原生研發工作,曾就職於阿里雲和中興通訊。同時也是Kubernetes社區和雲原生社區成員,多場KubeCon的演講嘉賓。劉岩 容器開發工程師,雲原生社區成員,目前從事雲原生套用平台建設相關的工作,熱衷於雲原生技術。宋淨超 Tetrate 布道師,雲原生社區創始人,CNCF Ambassador,多本雲原生相關圖書作譯者。

相關詞條

熱門詞條

聯絡我們