商品簡介
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的基礎上擴展外部元件。
作者簡介
任鋼,教授級高工,國家認證的架構設計師、系統分析師和信息項目管理師,擁有二十餘年的軟件發展和架構設計經驗,承擔過上百個軟件項目的規劃、設計、開發和交付工作。現在在某互聯科技公司擔任首席架構師,主要業務方向是提供企業數字化轉型、行業互聯網(物聯網)、雲原生體系、微服務架構等的諮詢服務。
名人/編輯推薦
Quarkus優點:
1.Quarkus是自帶雲原生基因的Java框架
2.Quarkus是2020年zui活躍的微服務框架平臺
3.Quarkus啟動快,佔用內存少,其性能可與其他原生開發語言(如Go語言)相媲美
3.Quarkus的底層基於響應式非阻塞架構,可實現響應式和命令式混合程序設計
4.Quarkus提供了實時重載和零配置,可提高生產力,增加了程序設計樂趣
5.Quarkus的學習曲線平緩,對於Spring開發者來說,幾乎可以無成本掌握這一技術
6.Quarkus相容和整合了常用Java軟件框架,擁有400多個擴展框架
本書特點:
1. 內容覆蓋軟件發展中80%以上的技術應用場景
2. 以圖形、源碼、文字說明相結合的方式進行講解,大部分案例配有UML圖例,可高效掌握每個案例的精髓
3. 主要以源碼案例說明為主,全書包含50多個程序設計案例、1萬多行代碼
4. 每個案例講解都包含技術背景、原理、相關規範解析、驗證過程和輔助驗證工具等內容, 方便讀者不費力地上手實踐
序
前言
讀者物件
本書適合對Quarkus感興趣且想在這方面獲得更多知識或者實現更多想法的IT從業者。
初級讀者,可以通過本書知道如何使用Quarkus進行Web、Data和Message方面的開發,能非常迅速、高效、簡單地搭建一個微服務應用系統。
中級讀者,如有著豐富開發經驗的軟件發展工程師等,可以通過本書獲得全面的對Quarkus的認識,能構建安全的、集成的、伸縮性和容錯能力強的雲原生應用。
高級讀者,如有著豐富經驗的架構師和分析師,可以通過本書知道Quarkus的核心特性,能利用這些特性遊刃有餘地構建響應式的、高可靠的、高可用的、維護性強的雲原生架構體系。
本書尤其適合在Spring上已經有經驗積累的工程師,他們幾乎可以零成本地又掌握一套基於Java語言的雲原生開發工具。從筆者的角度來看,Quarkus非常容易上手,讀者如果有一些工作經驗,曾經用類似的工具(如Spring等)進行過軟件發展,那麼將能非常快速地掌握Quarkus的使用方法。
本書定位
本書是一本Quarkus開發指南,簡單地說,就是告訴讀者如何快速、高效和精準地進行Quarkus開發。本書中實踐內容占九成,而理論知識提及較少,因此本書是一本實踐性和可操作性強的圖書。本書既可以作為學習Quarkus的教程,也可以作為架構師的參考手冊,以備不時之需。
本書以案例為基礎,包含了案例程式的源碼、講解和驗證。針對各個案例,筆者並沒有簡單地貼源碼,而是以源碼、圖示和文字說明相結合的方式進行了詳細解析,幫助讀者理解案例總體思路和設計意圖。
Quarkus官網上有非常多案例,讓人眼花繚亂,那麼筆者為什麼會選擇書中的這些案例進行講解呢?這是因為筆者根據自己的實際工作經驗進行了篩選。如果要開發一個雲原生微服務應用,那麼需要網絡支援、資料支援(包括關係型數據庫、緩存資料庫、NoSQL資料庫等)和安全框架,實現這些基本上就能夠完成一個雲原生微服務系統的大部分功能。如果涉及非同步處理或事件處理,還可以加上一個消息元件或流元件。更進一步地,如果還有更高級的用法,那就接著添加容錯、監控、非阻塞等組件。上述這些知識基本上都被筆者精選的案例所囊括。可以說,筆者選擇的案例已經可以覆蓋80%~90%的雲原生微服務應用開發相關內容。
本書中反復提及Java的規範和標準。在IT世界中,各種開源平臺和產品層出不窮,而且進行著快速反覆運算。學習每個平臺和產品都需要時間成本和投入精力,但是很多時候往往是,開發者非常辛苦地學習了一套平臺的用法,沒想到稍過一段時間,就發現所學技術或技能已經落後。而在Java領域中,學習相關規範和標準能讓學習成本變低,讓我們更快、更容易地學習技術和技能。
如何使用本書
本書中的每個案例都是一個故事,講故事有很多種方法,就好似不同的導演拍同一個電影題材所展現給觀眾的故事都不一樣。筆者講故事的總體思路是這樣的:首先概述這個故事的目的、組成、環境(上下文);然後重點分析這個故事的要點及實現,還會提供一兩張圖來描述整個故事的發展過程;最後筆者會給出驗證環節的實現。這樣讀者花非常少的時間和精力就可以進行具體的實踐。
本書還是一本軟件程序設計書。程序設計是一項實踐性強的活動,講100句道理也不如寫上10行代碼。本書中的每個案例都有驗證環節,也就是讓讀者親手實踐,而且針對這些環節,筆者還準備了相關代碼,讀者可以看到結果是否與設想一致。讀者也許很容易就能看明白書中的文字和圖示部分,可是具體實操時,卻發現好像不是那麼回事,筆者也曾經歷過這樣的事。因此,要不斷地分析、排錯,在踩過無數個“坑”後,最終實現自己想要的效果。筆者篤信:紙上得來終覺淺,絕知此事要躬行。這也是程序設計的真諦。
在開始具體的案例之旅前,筆者強烈建議讀者閱讀第2章的“2.4 應用案例說明”一節,其中包含了各個具體案例的總體說明,是關於所有案例的應用場景、原則和規則的通用說明。讀者若能明白這些內容,就能更輕鬆、方便、高效地理解各個案例的核心含義,從而達到事半功倍的效果。
本書結構
本書總共12章,首先是Quarkus概述,可以讓讀者從整體上認識Quarkus;其次是對Quarkus的初探;再次是本書的主要部分,將詳細講解如何在Quarkus中進行Web、Data、Message、Security、Reactive、Tolerance、Health、Tracing、Spring集成等應用場景的開發和實現;接著將介紹Quarkus在雲原生應用場景下的實施和部署;最後引出一個更高級的話題——Quarkus Extension。各章簡介如下。
第1章 Quarkus概述
首先將介紹Quarkus的概念和特徵;其次將簡單介紹Quarkus的整體優勢;再次將闡述Quarkus的適用場景、目標使用者和競爭對手;接著將探討為什麼Java開發者會選擇Quarkus;最後將介紹Quarkus的架構和核心概念。
第2章 Quarkus開發初探
首先將給出開發hello world微服務全過程;其次將介紹Quarkus開發基礎,主要使用6個基礎開發案例來進行講解;再次將介紹用Quarkus實現GoF設計模式的案例;最後是對應用案例的整體說明,可以認為這部分內容是整本書實戰案例的導讀。
第3章 開發REST/Web應用
將分別介紹如何在Quarkus中開發REST JSON服務、增加OpenAPI和SwaggerUI功能、編寫GraphQL應用、編寫WebSocket應用,包含案例的源碼、講解和驗證。
第4章 資料持久化開發
將分別介紹如何在Quarkus中使用Hibernate ORM和JPA實現資料持久化、使用Java事務、使用Redis Client實現緩存處理、使用MongoDB Client實現NoSQL處理、使用Panache實現資料持久化等,包含案例的源碼、講解和驗證。
第5章 整合消息流和消息中介軟件
將分別介紹如何在Quarkus中調用Apache Kafka消息流、創建JMS應用實現佇列模式、創建JMS應用實現主題模式和創建MQTT應用等,包含案例的源碼、講解和驗證。
第6章 構建安全的Quarkus微服務
首先將對微服務Security進行概述並介紹Quarkus的Security架構;其次將分別介紹如何在Quarkus中實現基於檔存儲使用者信息的安全認證、基於資料庫存儲使用者信息並採用JDBC獲取的安全認證、基於資料庫存儲使用者信息並用JPA獲取的安全認證、基於Keycloak實現認證和授權、使用OpenID Connect實現安全的JAX-RS服務、使用OpenID Connect實現安全的Web應用、使用JWT加密權杖、使用OAuth 2.0實現認證等,包含案例的源碼、講解和驗證。
第7章 構建響應式系統應用
首先將簡介響應式系統;其次將簡介Quarkus響應式應用;再次將分別介紹如何在Quarkus中創建響應式JAX-RS應用、響應式SQL Client應用、響應式Hibernate應用、響應式Redis應用、響應式MongoDB應用、響應式Apache Kafka應用、響應式AMQP應用等,包含案例的源碼、講解和驗證;最後將介紹Quarkus響應式基礎框架Vert.x的應用,包含案例的源碼、講解和驗證。
第8章 Quarkus微服務容錯機制
首先將簡介微服務容錯;然後將介紹如何在Quarkus中開發包括重試、超時、回退、熔斷器和艙壁隔離等微服務容錯的應用,包含案例的源碼、講解和驗證。
第9章 Quarkus監控和日誌
首先將介紹Quarkus中的健康監控,其次將介紹Quarkus中的監控度量,最後將介紹Quarkus中的調用鏈日誌。這些應用都包含案例的源碼、講解和驗證。
第10章 集成Spring到Quarkus中
將分別介紹如何在Quarkus中整合Spring的DI功能、Web功能、Data功能、安全功能,以及獲取Spring Boot的設定檔屬性功能、獲取Spring Cloud的Config Server設定檔屬性功能,包含案例的源碼、講解和驗證。
第11章 Quarkus的雲原生應用和部署
將分別介紹如何在Quarkus中構建容器鏡像、生成Kubernetes資源檔、生成OpenShift資源檔、生成Knative資源檔等,包含案例的源碼、講解和驗證。
第12章 高級應用——Quarkus Extension
首先將概述Quarkus Extension;然後將介紹如何創建一個Quarkus擴展應用,包含案例的源碼、講解和驗證;最後是一些關於Quarkus Extension的說明。
參考文獻
將列出本書參考文獻,以及本書中會涉及的基於Quarkus應用的軟件或平臺,如果讀者需要瞭解更多細節,可以查閱相關文獻和資料。
後記
Quarkus還處於不斷發展的過程中,本部分將告訴讀者如何使本書中的案例與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 Quarkus生成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
書摘/試閱
推薦序一
Java,作為經久不衰的程序設計語言,以其物件導向、跨平臺、分散式、高性能、元件化、動態特性等諸多特點,在企業計算、個人計算、移動計算等領域,一直備受開發者青睞。以Java語言為藍本,在軟件工程方法、設計模式等領域的反覆運算與發展,更是層出不窮。Java語言,在近三十年的發展歷程中,形成了諸多被工業界廣泛接受的標準和框架,為開發大型應用提供了便利,遮罩了計算機底層技術的複雜性,使開發者可以更專注於業務邏輯,可以快速、高效地開發應用,以及穩定、可靠地運行應用。因此,在軟件行業中,多年來也培養出、成長起一大批具有Java開發背景的軟件工程師、架構師、管理者。這些從業者形成了強大的Java開發者社區,推動著Java語言不斷向前發展。
歷史的車輪不斷向前,從傳統的企業計算,到雲計算,再到霧計算,計算無處不在。應用架構從傳統的單體應用、三層架構走向分散式、微服務、無服務器架構,架構不斷演變,從“大而全”轉向“小而多”,便於應用的快速開發、反覆運算、集成、上線。因此,對於程序設計語言及其開發框架來說,也提出了適應時代發展的新要求,比如為了使應用可以更快地啟動、運行時佔用更少的內存以便大量的應用可以同時運行,語言及其框架需要做出一些改變,等等。傳統的Java框架在這種新需求下顯得有些“厚重”了,如何讓其“瘦身”,成為Java社區的熱點。
Quarkus正是在這樣的背景下應運而生的,我們可以稱它為雲原生時代的Java框架,或者“超音速亞原子Java框架”,這恰恰說明了Quarkus的兩個最重要的特點,一個是“快”,一個是“小”。具體的Quarkus是什麼?它有哪些優點?它是如何應用的?相信你一定很好奇,帶著疑問閱讀本書吧,你必將收穫良多。
本書作者以大量的親身實踐,帶讀者掌握Quarkus技術、走進雲原生應用開發的世界。願我們一起擁抱雲原生、擁抱未來!
張家駒
紅帽中國首席架構師
推薦序二
在當今這個追求效率和便捷性的互聯網時代,閱讀這樣一本用心撰寫的IT圖書,讓我獲益匪淺。作者圖、文、碼並茂地介紹了Quarkus開發相關知識,可以讓讀者在追求企業微服務體系規劃實施的道路上實現快速學習、彎道超車。
在本書中,詳細說明了在微服務應用開發和架構設計中Quarkus是如何結合Redis、MongoDB、Kafka、Message Queue和Vert.x等相關框架,讓讀者在學習Quarkus知識的同時,具備讓Quarkus實際落地實施的能力。我在讀完本書後,對作者在微服務體系架構設計、規劃實施及管理整合上展現出的能力,感到欽佩不已。
最後,本書最讓我印象深刻的是,作者在介紹Quarkus時所體現出的整體結構規劃和深入淺出的表達,這些都讓我這個IT老兵能迅速把握書中要點。期待作者持續創作,不斷寫出在IT界有影響力的圖書。
陳明儀(Simon Chen)
亞馬遜雲科技專業顧問服務團隊經理
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

