TOP
紅利積點抵現金,消費購書更貼心
Quarkus雲原生微服務開發實戰(簡體書)
滿額折

Quarkus雲原生微服務開發實戰(簡體書)

商品資訊

人民幣定價:119 元
定價
:NT$ 714 元
優惠價
87621
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點:18 點
商品簡介
作者簡介
名人/編輯推薦
目次

商品簡介

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

作者簡介

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

名人/編輯推薦

Quarkus是開發雲原生微服務時的主流架構。《Quarkus雲原生微服務開發實戰》融合了雲原生領域資深專家14年一線工作經驗,以一個完整的實戰應用的開發過程作為主線,介紹如何以Quarkus為框架來開發微服務架構的雲原生應用。雙色印刷,突出重點,並配有二維碼視頻,使讀者身臨其境,迅速、深入地掌握各種經驗和技巧。

微服務和雲原生是當前比較熱門的技術概念。雲原生微服務架構是微服務架構和雲原生技術的結合。微服務作為一種架構風格,所解決的問題是複雜軟件系統的架構與設計。雲原生技術作為一種實現方式,所解決的問題是複雜軟件系統的運行和維護。這兩者相輔相成,是開發複雜軟件系統的最佳選擇之一。
《Quarkus雲原生微服務開發實戰》以一個外賣點餐應用的後臺服務作為實戰示例,詳細介紹了微服務架構的雲原生應用的完整開發過程。開發微服務時使用的框架是Java平臺上的Quarkus。在GraalVM的支援下,Quarkus應用可以打包成啟動速度快、資源消耗少、體積小的原生可執行檔。這一點對於雲原生應用來說至關重要。
第1章到第4章介紹雲原生微服務相關的背景知識和Quarkus的核心概念。第1章介紹雲原生微服務和Quarkus的基本概念。第2章介紹Quarkus應用的創建和代碼的組織結構,並對Quarkus應用的開發流程,以及實戰示例進行了介紹。第3章介紹了Quarkus中依賴注入的實現方式,包括Bean的使用、攔截器和事件相關的內容。第4章介紹Quarkus應用的配置管理,包括使用不同的配置源保存配置信息,以及如何在應用中讀取配置項的值。
第5章到第7章介紹不同微服務的開發模式。每一章以實戰應用的一個微服務作為示例,詳細說明每種開發模式的實現細節。第5章介紹的微服務以關係型數據庫作為存儲,並發佈REST API。微服務之間使用同步的API調用。第6章介紹的微服務發佈gRPC API,微服務之間使用Apache Kafka進行非同步消息傳遞。第7章介紹的微服務使用反應式程序設計開發,微服務之間使用反應式流進行交互。這3章的內容涵蓋了大部分微服務的實現模式。
第8到第10章主要介紹與微服務的部署和運維相關的內容,屬於非功能性需求相關的部分。第8章介紹了如何將雲原生應用打包成容器鏡像,並部署到Kubernetes。第9章介紹了如何產生可觀察性相關的資料,包括性能指標資料、分散式追蹤信息、日誌和異常信息等。第10章介紹了應用安全相關內容,包括使用者管理、認證和授權,同時還介紹了如何保證服務調用的健壯性。這3章介紹的內容雖然與具體的業務無關,但卻是實際應用中必不可少的功能。
第11章介紹了Quarkus的一些附加功能,包括創建計畫任務、創建命令列程式、使用字串範本、發送郵件和基於GraphQL的API組合等。
限於篇幅,書中只對實戰應用中的部分代碼進行了介紹。完整的代碼請參考代碼倉庫。
由於本人水準有限,疏漏之處在所難免,懇請廣大讀者批評指正。

目次

第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

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 621
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區