作品簡介
Quarkus建立在我們已熟知的基礎技術之上。它使用JPA、JAX-RS、Eclipse Vert.x、Eclipse MicroProfile和CDI等一些熟悉的技術,將這些知識結合到一個緊湊的、易於部署的、針對OpenJDK Hotspot或GraalVM的Kubernetes最佳化的容器中。你可以高效利用Kubernetes集群,在應用程式需要擴展時,極大限度地利用機器上的資源。
作品目錄
O'Reilly Media,Inc.介紹
譯者序
序言
前言
第1章 Quarkus概述
1.1 開發者友好
1.2 與Kubernetes集成
1.3 記憶體和第一回響時間
1.4 Quarkus基本工作流程
第2章 搭建腳手架
2.1 用Maven搭建Quarkus項目的腳手架
2.2 用Gradle搭建Quarkus項目的腳手架
2.3 用Quarkus Start Coding網站搭建Quarkus項目的腳手架
2.4 用Visual Studio Code搭建Quarkus項目的腳手架
2.5 使用開發模式實時重載
2.6 提供靜態資源
第3章 開發RESTful服務
3.1 創建一個簡單的REST API端點
3.2 提取請求參數
3.3 使用HTTP回響狀態碼
3.4 綁定HTTP方法
3.5 啟用跨源資源共享
3.6 使用回響式路由
3.7 攔截HTTP請求
3.8 使用SSL進行安全連線
第4章 配置
4.1 使用自定義屬性配置應用程式
4.2 以程式化的方式訪問配置屬性
4.3 在外部覆蓋配置值
4.4 使用profile進行配置
4.5 修改日誌配置
4.6 添加應用程式日誌
4.7 高級日誌配置
4.8 使用自定義profile進行配置
4.9 創建自定義配置源
4.10 創建自定義轉換器
4.11 配置值的分組
4.12 驗證配置值
第5章 編程模型
5.1 對JSON進行編組和解組
5.2 對XML進行編組和解組
5.3 校驗輸入值和輸出值
5.4 創建自定義校驗
5.5 以程式化的方式校驗對象
5.6 依賴注入
5.7 創建工廠類
5.8 執行對象生命周期事件
5.9 執行應用程式生命周期事件
5.10 使用命名限定符
5.11 使用自定義限定符
5.12 限定和配置註解
5.13 創建攔截器
5.14 行為測試
5.15 單元測試
5.16 創建mock對象
5.17 使用Mockito創建mock對象
5.18 用元註解將多個註解組合為一個註解
5.19 在測試代碼前後執行代碼
5.20 測試原生執行檔
第6章 打包Quarkus應用程式
6.1 在命令行模式下運行
6.2 創建一個可運行的JAR檔案
6.3 über-JAR打包
6.4 構建原生執行檔
6.5 為JAR檔案構建一個Docker容器
6.6 為原生執行檔構建一個Docker容器
6.7 構建和容器化原生SSL應用程式
第7章 持久化
7.1 配置數據源
7.2 使用多個數據源
7.3 添加數據源的健康檢查
7.4 定義事務的邊界
7.5 設定事務的上下文
7.6 程式化事務控制
7.7 設定和修改事務逾時時間
7.8 使用persistence.xml
7.9 不使用persistence.xml
7.10 使用不同JAR檔案的實體
7.11 用Panache持久化數據
7.12 用Panache listAll方法查找所有實體條目
7.13 用Panache findById方法查找單個實體
7.14 用Panache find和list方法查找實體
7.15 用Panache count方法獲取實體計數
7.16 用Panache page方法對實體列表進行分頁
7.17 用Panache stream方法對結果進行流處理
7.18 測試Panache實體
7.19 使用數據訪問對象和repository模式
7.20 使用Amazon DynamoDB
7.21 使用MongoDB
7.22 用Panache連線MongoDB
7.23 使用Neo4j
7.24 使用Flyway
7.25 以程式化的方式使用Flyway
第8章 容錯
8.1 自動重試
8.2 逾時
8.3 使用艙壁模式進行過載保護
8.4 使用斷路器模式避免故障傳遞
8.5 禁用容錯功能
第9章 可觀察性
9.1 使用自動化健康檢查
9.2 創建自定義健康檢查
9.3 暴露指標
9.4 創建指標
9.5 使用分散式跟蹤
9.6 自定義分散式跟蹤
第10章 與Kubernetes集成
10.1 構建和推送容器鏡像
10.2 生成Kubernetes資源
10.3 生成帶有健康檢查的Kubernetes資源
10.4 在Kubernetes上部署服務
10.5 在OpenShift上部署服務
10.6 自動構建和部署容器鏡像
10.7 通過Kubernetes配置應用程式
10.8 使用配置擴展通過Kubernetes配置應用程式
10.9 以程式化的方式與Kubernetes集群進行互動
10.10 測試Kubernetes Client互動
10.11 實現一個Kubernetes Operator
10.12 用Knative部署和管理無伺服器工作負載
第11章 認證與授權
11.1 使用Elytron屬性檔案配置進行認證和授權
11.2 使用Elytron Security JDBC配置進行認證和授權
11.3 使用MicroProfile JWT進行授權
11.4 使用OpenId Connect進行授權和認證
11.5 使用OpenId Connect保護網路資源
第12章 應用程式密鑰管理
12.1 使用Kubernetes中的secret存儲數據
12.2 使用Vault安全地存儲配置的secret
12.3 密碼即服務
12.4 生成資料庫密碼並存入secret
12.5 使用Vault Kubernetes Auth進行認證服務
第13章 Quarkus REST客戶端
13.1 使用JAX-RS Web客戶端
13.2 使用MicroProfile REST客戶端
13.3 實現CRUD客戶端
13.4 操作header
13.5 使用REST客戶端處理多部分訊息
13.6 使用REST客戶端配置SSL
第14章 使用Spring API開發Quarkus應用程式
14.1 使用Spring依賴注入
14.2 使用Spring Web
14.3 使用Spring Data JPA
14.4 使用Spring Security
14.5 使用Spring Boot屬性
第15章 使用回響式編程模型
15.1 創建異步HTTP端點
15.2 異步流式數據傳輸
15.3 使用訊息傳遞解耦組件
15.4 回響Apache Kafka訊息
15.5 向Apache Kafka傳送訊息
15.6 序列化與反序列化
15.7 使用Kafka Streams API
15.8 使用AMQP