Quarkus雲原生微服務開發實戰

Quarkus雲原生微服務開發實戰

Quarkus雲原生微服務開發實戰是一本2021年出版的圖書,由機械工業出版社出版

基本介紹

  • 中文名:Quarkus雲原生微服務開發實戰
  • 作者:成富
  • 出版時間:2021年
  • 出版社:機械工業出版社
  • ISBN:9787111689553
內容簡介,圖書目錄,作者簡介,

內容簡介

《Quarkus雲原生微服務開發故全匪實戰》以一個完整的實戰套用的開發過程作為主線,介紹如何以Quarkus為框架來開發微服務架構的雲原生套用。書中介紹了微滲危戶榜服務和雲原生開發的各個方面,包括微服務的開發和測試以及在Kubernetes上的部署運行,還包括套用的可觀察性、安全和服務調用的健壯性等非功能性需求。通過本書的介紹,讀者可以了解一個真實的雲原生套用的開發過程,並學會如何從頭開始開發個人的套用。
《Quarkus雲原生微服務開發實戰》適合從事Quarkus雲原生微服務開發以及對雲原生微服務感興趣的Java開發人員閱讀。

圖書目錄

第1章 雲原生微服務概述
1.1 了解微服務架構
1.1.1 了歡盼享解單體套用存在的問題
1.1.2 微服務架構概述
1.1.3 雲原生與微服務架構
1.1.4 雲原生的發展趨勢
1.2 了解容器化技術
1.3 了解容器編排技術
1.3.1 使用Docker進行簡單的編排
1.3.2 使用Docker Compose進行編排
1.3.3 Kubernetes介紹
1.4 Quarkus介紹
第2章 Quarkus開發入門
2.1 創建新的項目
2.2 通用的套用開發流程
2.2.1 使用開發模式
2.2.2 調試套用
2.2.3 實用的外掛程式命令
2.3 原始碼組織
2.4 實戰套用介紹
2.5 微服務的設計
第3章 Quarkus的依賴注入
3.1 CDI中的Bean 及其作用域
3.2 使用依賴注入
3.2.1 了解不同的依賴注入方式
3.2.2 注入@Dependent作用域的Bean
3.2.3 獲取注入點的元數據
3.3 Bean的使用
3.3.1 使用修飾符區分相同類型的Bean
3.3.2 使用生產方法和欄位創建Bean
3.3.3 使用默認Bean和替代Bean
3.3.4 在代碼中選擇Bean實例
3.4 使用攔截器實現橫切的業務邏輯
3.5 使用事件進行訊息傳遞
3.5.1 同步的事件發布和處理
3.5.2 異步的事件發布習舟影和處理
3.5.3 使用修飾符來區分事件
3.5.4 獲取事件的元數據
3.6 Quarkus的CDI實現
3.6.1 共享代碼中Bean的發現
3.6.2 Bean的特殊處理
3.6.3 客戶端代理的使用
第4章 Quarkus微服務的配置
4.1 使用配置源
4.1.1 Quarkus提供的默認配置源
4.1.2 使用YAML格式的配置檔案
4.1.3 創建自定義的配置源
4.1.4 生成Quarkus框架的配置檔案
4.1.5 使用外部配置源
4.2 獲取配置項的值
4.3 使用類型安全的配置類
4.3.1 綁定配置類中的欄位
4.3.2 綁定配置接口中的方法
4.3.3 驗證配置項的值
4.4 通過配置Profile區分不同的環境
4.5 配置項的類型轉換
4.6 Kubernetes上的Quarkus套用配置
第5章 同步調用方式——餐館微服務
5.1 訪問關係型資料庫
5.1.1 創建數據源
5.1.2 使促燥用Flyway遷移資料庫模式
5.1.3 使用JPA和Hibernate訪問資料庫
5.1.4 使用Panache簡化資料庫訪問
5.1.5 服務層實現
5.1.6 事務管理
5.1.7 分頁和排序
5.2 發布REST API
5.2.1 使用JAX-RS註解標註REST控制器
5.2.2 使用JSON格式進行序列化
5.3 微服務的單元測試
5.3.1 數據訪問層測試
5.3.2 服務層測試
5.3.3 REST API測試
5.4 生成OpenAPI文檔
5.5 消費其他微服務的REST API
5.6 使用Elasticsearch檢索妹危照坑選單
5.7 使用Redis執行地理位置查詢
5.8 使用Quarkus測試資源
第6章 異步訊息傳遞——訂單微服務實現
6.1 發布gRPC API
6.1.1 使用protobuf描述訊息格式
6.1.2 創建gPRC的接口定義
6.1.3 實現gRPC API
6.1.4 消費其他微服務的gRPC API
6.2 異步訊息傳遞
6.2.1 異步訊息傳遞概述
6.2.2 事件、命令和訊息的含義
6.2.3 數據的最終一致性
6.2.4 使用Apache Kafka傳遞訊息
6.2.5 事務性訊息
6.3 使用WebSocket
第7章 反應式微服務——送貨微服務實現
7.1 反應式編程概述
7.2 使用Mutiny進行反應式編程
7.2.1 Mutiny中的事件
7.2.2 創建Uni和Multi對象
7.2.3 處櫃只鑽理Multi和Uni中的元素
7.2.4 訂閱反應式流
7.3 反應式數據訪問
7.4 開發反應式REST API
7.4.1 使用RESTEasy
7.4.2 創建反應式路由
7.4.3 上傳檔案
7.5 開發反應式gRPC
7.6 使用反應式訊息
7.6.1 SmallRye反應式訊息庫的基本用法
7.6.2 使用Kafka作為訊息代理
7.6.3 送貨微服務的實現
7.6.4 反應式訊息的單元測試
第8章 Quarkus套用部署
8.1 套用打包方式
8.1.1 使用JVM模式
8.1.2 創建原生執行檔
8.2 創建容器鏡像
8.3 部署到Kubernetes
8.3.1 發布Docker鏡像
8.3.2 容器鏡像的標籤
8.3.3 創建Kubernetes部署資源
8.3.4 完整的套用部署
8.3.5 持續集成與部署
第9章 套用的可觀察性
9.1 健康檢查
9.1.1 MicroProfile Health規範
9.1.2 自定義的健康檢查過程
9.1.3 SmallRye Health的擴展功能
9.2 分散式追蹤
9.2.1 分散式追蹤的基本概念
9.2.2 追蹤JAX-RS和gRPC
9.2.3 使用OpenTracing API
9.3 性能指標數據
9.3.1 使用Micrometer
9.3.2 使用Prometheus
9.4 日誌管理與異常處理
9.4.1 記錄日誌和相關配置
9.4.2 使用MDC傳遞數據
9.4.3 使用Sentry記錄異常
第10章 套用安全及彈性服務
10.1 用戶管理
10.2 身份認證
10.2.1 Quarkus的認證機制
10.2.2 基於JWT的令牌認證
10.2.3 使用MicroProfile JWT
10.2.4 使用Keycloak
10.3 用戶授權管理
10.4 彈性服務
10.4.1 調用逾時與重試
10.4.2 回退值
10.4.3 熔斷器和隔板
10.5 使用服務格線
第11章 框架和服務的集成
11.1 創建計畫任務
11.1.1 計畫任務API
11.1.2 使用Quartz
11.2 實用功能與框架集成
11.2.1 創建命令行程式
11.2.2 使用字元串模板
11.2.3 傳送郵件
11.2.4 Apache Camel集成
11.3 使用GraphQL組合API

作者簡介

成富,北京大學,碩士,全棧工程師。專注於基於雲原生微服務架構的產品設計和開發,有14年從業經驗,參與過很多企業級套用的設計與開發。出版過《深入理解Java 7》和《Exploring Java 9》等圖書,在拉勾網開設了與雲原生微服務相關的專欄。
4.1.3 創建自定義的配置源
4.1.4 生成Quarkus框架的配置檔案
4.1.5 使用外部配置源
4.2 獲取配置項的值
4.3 使用類型安全的配置類
4.3.1 綁定配置類中的欄位
4.3.2 綁定配置接口中的方法
4.3.3 驗證配置項的值
4.4 通過配置Profile區分不同的環境
4.5 配置項的類型轉換
4.6 Kubernetes上的Quarkus套用配置
第5章 同步調用方式——餐館微服務
5.1 訪問關係型資料庫
5.1.1 創建數據源
5.1.2 使用Flyway遷移資料庫模式
5.1.3 使用JPA和Hibernate訪問資料庫
5.1.4 使用Panache簡化資料庫訪問
5.1.5 服務層實現
5.1.6 事務管理
5.1.7 分頁和排序
5.2 發布REST API
5.2.1 使用JAX-RS註解標註REST控制器
5.2.2 使用JSON格式進行序列化
5.3 微服務的單元測試
5.3.1 數據訪問層測試
5.3.2 服務層測試
5.3.3 REST API測試
5.4 生成OpenAPI文檔
5.5 消費其他微服務的REST API
5.6 使用Elasticsearch檢索選單
5.7 使用Redis執行地理位置查詢
5.8 使用Quarkus測試資源
第6章 異步訊息傳遞——訂單微服務實現
6.1 發布gRPC API
6.1.1 使用protobuf描述訊息格式
6.1.2 創建gPRC的接口定義
6.1.3 實現gRPC API
6.1.4 消費其他微服務的gRPC API
6.2 異步訊息傳遞
6.2.1 異步訊息傳遞概述
6.2.2 事件、命令和訊息的含義
6.2.3 數據的最終一致性
6.2.4 使用Apache Kafka傳遞訊息
6.2.5 事務性訊息
6.3 使用WebSocket
第7章 反應式微服務——送貨微服務實現
7.1 反應式編程概述
7.2 使用Mutiny進行反應式編程
7.2.1 Mutiny中的事件
7.2.2 創建Uni和Multi對象
7.2.3 處理Multi和Uni中的元素
7.2.4 訂閱反應式流
7.3 反應式數據訪問
7.4 開發反應式REST API
7.4.1 使用RESTEasy
7.4.2 創建反應式路由
7.4.3 上傳檔案
7.5 開發反應式gRPC
7.6 使用反應式訊息
7.6.1 SmallRye反應式訊息庫的基本用法
7.6.2 使用Kafka作為訊息代理
7.6.3 送貨微服務的實現
7.6.4 反應式訊息的單元測試
第8章 Quarkus套用部署
8.1 套用打包方式
8.1.1 使用JVM模式
8.1.2 創建原生執行檔
8.2 創建容器鏡像
8.3 部署到Kubernetes
8.3.1 發布Docker鏡像
8.3.2 容器鏡像的標籤
8.3.3 創建Kubernetes部署資源
8.3.4 完整的套用部署
8.3.5 持續集成與部署
第9章 套用的可觀察性
9.1 健康檢查
9.1.1 MicroProfile Health規範
9.1.2 自定義的健康檢查過程
9.1.3 SmallRye Health的擴展功能
9.2 分散式追蹤
9.2.1 分散式追蹤的基本概念
9.2.2 追蹤JAX-RS和gRPC
9.2.3 使用OpenTracing API
9.3 性能指標數據
9.3.1 使用Micrometer
9.3.2 使用Prometheus
9.4 日誌管理與異常處理
9.4.1 記錄日誌和相關配置
9.4.2 使用MDC傳遞數據
9.4.3 使用Sentry記錄異常
第10章 套用安全及彈性服務
10.1 用戶管理
10.2 身份認證
10.2.1 Quarkus的認證機制
10.2.2 基於JWT的令牌認證
10.2.3 使用MicroProfile JWT
10.2.4 使用Keycloak
10.3 用戶授權管理
10.4 彈性服務
10.4.1 調用逾時與重試
10.4.2 回退值
10.4.3 熔斷器和隔板
10.5 使用服務格線
第11章 框架和服務的集成
11.1 創建計畫任務
11.1.1 計畫任務API
11.1.2 使用Quartz
11.2 實用功能與框架集成
11.2.1 創建命令行程式
11.2.2 使用字元串模板
11.2.3 傳送郵件
11.2.4 Apache Camel集成
11.3 使用GraphQL組合API

作者簡介

成富,北京大學,碩士,全棧工程師。專注於基於雲原生微服務架構的產品設計和開發,有14年從業經驗,參與過很多企業級套用的設計與開發。出版過《深入理解Java 7》和《Exploring Java 9》等圖書,在拉勾網開設了與雲原生微服務相關的專欄。

相關詞條

熱門詞條

聯絡我們