Quarkus實戰:專為Kubernetes而優化的Java解決方案 版權信息
- ISBN:9787111677635
- 條形碼:9787111677635 ; 978-7-111-67763-5
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
Quarkus實戰:專為Kubernetes而優化的Java解決方案 本書特色
適讀人群 :熟悉Java和應用程序開發的技術愛好者Quarkus針對Kubernetes進行了優化,旨在幫助你創建云優先、容器原生和無服務器能力的Java應用。在本書中,兩位作者提供了在微服務開發和生產中安裝Quarkus、與Quarkus交互和使用Quarkus的詳細解決方案。
本書向熟悉Java企業應用開發的中高級開發人員展示了如何快速上手Quarkus。你將了解如何在更廣泛的Java生態系統中使用Quarkus,并掌握如何使該框架滿足自己的特殊需求。每一章都以問題-解決方案-討論的格式編寫。 你將學會:
通過在開發模式下啟用實時重載來縮短開發周期。
連接到 Kafka 并與之通信。
使用響應式編程模型進行開發并輕松地為服務添加容錯功能。
將應用程序構建為一個 Kubernetes 就緒的容器。
使用 OpenAPI 輕松地開發和測試本地 Quarkus 應用程序
Quarkus實戰:專為Kubernetes而優化的Java解決方案 內容簡介
本書首先介紹Quarkus的基礎知識 ; 接著介紹Quarkus的核心部分 —— 使用CDI和Eclipse MicroProfile構建RESTful應用程序, 并展示如何打包應用程序 ; 然后介紹容錯、持久性、安全性、與其他服務的交互以及Quarkus與Kubernetes的其他集成 ; *后講述使用Quarkus進行響應式編程, 以及框架的一些附加功能, 如模板、調度和OpenAPI。
Quarkus實戰:專為Kubernetes而優化的Java解決方案 目錄
序言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
展開全部
Quarkus實戰:專為Kubernetes而優化的Java解決方案 作者簡介
Alex Soto Bueno 是Red Hat的開發者體驗總監,自 2017 年以來一直是 Java Champion。
Jason Porter 是一名首席軟件工程師,在Red Hat從事中間件工程服務、Arquillian、Quarkus 和其他開發者體驗項目。