预购商品
书目分类
特别推荐
Quarkus是一個來自Red Hat公司的超音速亞原子Kurbernetes原生Java框架。該框架允許Java開發人員結合容器、微服務和Kurbernetes的能力來構建可靠的、高性能的、快速的雲原生應用和Serverless應用。本書是一本Quarkus開發指南,涵蓋了使用Quarkus所需的大部分知識,書中的所有主題都配有典型案例,全書一共包含50多個案例。 全書共12章,第1章是Quarkus概述,可以從整體上認識Quarkus;第2章是對Quarkus的初探,將使用Quarkus構建一個微服務並開發一些基礎應用;第3章至第10章是本書的主要部分,將詳細講解如何在Quarkus架構上進行Web、Data、Message、Security、Reactive、Tolerance、Health、Tracing、Spring集成等應用場景的開發和實現;第11章將介紹Quarkus在雲原生應用場景下的實施和部署;第12章將引出一個更高級的話題――Quarkus Extension,説明高級開發者在Quarkus的基礎上擴展外部元件。
第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 Quakus生成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
任鋼 教授級高工,國家認證的架構設計師、系統分析師和資訊專案管理師,擁有二十餘年的軟體發展和架構設計經驗,承擔過上百個軟體專案的規劃、設計、開發和交付工作。現在在某互聯科技公司擔任首席架構師,主要業務方向是提供企業數位化轉型、行業互聯網(物聯網)、雲原生體系、微服務架構等的諮詢服務。
客服公告
热门活动
订阅电子报