庫存狀況
「香港二樓書店」讓您 愛上二樓●愛上書
我的購物車 加入會員 會員中心 常見問題 首頁
「香港二樓書店」邁向第一華人書店
登入 客戶評價 whatsapp 常見問題 加入會員 會員專區 現貨書籍 現貨書籍 購物流程 運費計算 我的購物車 聯絡我們 返回首頁
香港二樓書店 > 今日好書推介
二樓書籍分類
 
Java也可以K8s:使用最新Quarkus打造新世代原生微服務

Java也可以K8s:使用最新Quarkus打造新世代原生微服務

庫存=1
將於1個工作天內出貨
9789860776980
任鋼
深智數位
2022年4月20日
327.00  元
HK$ 277.95  






ISBN:9789860776980
  • 規格:平裝 / 688頁 / 17 x 23 x 3 cm / 普通級 / 單色印刷 / 初版
  • 出版地:台灣


  • 電腦資訊 > 程式設計 > Java/JavaScript

















    從基礎到進階——Quarkus完整開發大全!



      Quarkus是一個來自Red Hat公司的超音速次原子Kubernetes原生Java框架。該框架允許Java開發人員結合容器、微服務和Kubernetes的能力來構建可靠、高性能、快速的雲端原生應用和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獲得更多知識或實現更多新創方式的IT工程師,針對Spring框架已經有經驗的工程師更是如虎添翼。



      ※適合讀者群

      本書適合對Quarkus感興趣且想在這方面獲得更多知識或實現更多想法的IT從業者。



      .初級讀者:可以透過本書知道如何使用Quarkus進行Web、Data和Message方面的開發,能非常迅速、高效、簡單地架設一個微服務應用系統。



      .中級讀者:如具有豐富開發經驗的軟體開發工程師等,可以透過本書獲得對Quarkus的全面認識,能建構安全的、整合的、伸縮性和容錯能力強的雲端原生應用。



      .進階讀者:如具有豐富經驗的架構師和分析師,可以透過本書知道Quarkus的核心特性,能利用這些特性遊刃有餘地建構響應式的、高可靠的、高可用的、維護性強的雲端原生架構系統。



      .在Spring上已經有經驗累積的工程師:幾乎可以零成本地又掌握一套基於Java語言的雲端原生開發工具。讀者如果有一些工作經驗,曾經用類似的工具(如Spring等)進行過軟體開發,那麼將能非常快速地掌握Quarkus的使用方法。



    本書特色



      .Java工程師用K8s探索微服務的先驅Quarkus概述

      .Quarkus中進行Web開發完整專案

      .資料驅動的Quarkus案例實作

      .Message系統的案例架設

      .Security安全考量的微服務專案

      .Reactive的整合場景

      .Tolerance在Quarkus的應用場景

      .Health的企業專案開發

      .Tracing場景下的微服務應用

      .Spring整合應用場景

      .Quarkus在雲端原生實施部署

      .Quarkus Extension進一步使用



    專業推薦



      中國紅帽首席架構師 張家駒

      亞馬遜雲端科技專業顧問服務團隊經理 陳明儀

    ?


     





    第1章 Quarkus概述

    1.1 Quarkus的概念和特徵

    1.2 Quarkus的整體優勢

    1.3 Quarkus的適用場景、目標使用者和競爭對手

    1.4 為什麼Java開發者會選擇Quarkus

    1.5 Quarkus的架構和核心概念

    1.6 本章小結

    ?

    第2章 Quarkus開發初探

    2.1 開發hello world微服務全過程

    2.2 Quarkus開發基礎

    2.3 GoF設計模式的Quarkus實現

    2.4 應用案例說明

    2.5 本章小結

    ?

    第3章 開發REST/Web應用

    3.1 撰寫REST JSON服務

    3.2 增加OpenAPI和SwaggerUI功能

    3.3 撰寫GraphQL應用

    3.4 撰寫WebSocket應用

    3.5 本章小結

    ?

    第4章 資料持久化開發

    4.1 使用Hibernate ORM和JPA實現資料持久化

    4.2 使用Java交易

    4.3 使用Redis Client實現快取處理

    4.4 使用MongoDB Client實現NoSQL處理

    4.5 使用Panache實現資料持久化

    4.6 本章小結

    ?

    第5章 整合訊息流和訊息中介軟體

    5.1 呼叫Apache Kafka訊息串流

    5.2 建立JMS應用實現佇列模式

    5.3 建立JMS應用實現主題模式

    5.4 建立MQTT應用

    5.5 本章小結

    ?

    第6章 建構安全的Quarkus微服務

    6.1 微服務Security概述

    6.2 Quarkus Security架構

    6.3 以檔案儲存使用者資訊為基礎的安全認證

    6.4 以資料庫儲存使用者資訊並用JDBC獲取為基礎的安全認證

    6.5 以資料庫儲存使用者資訊並用JPA獲取為基礎的安全認證

    6.6 以Keycloak為基礎實現認證和授權

    6.7 使用OpenID Connect實現安全的JAX-RS服務

    6.8 使用OpenID Connect實現安全的Web應用

    6.9 使用JWT加密權杖

    6.10 使用OAuth 2.0實現認證

    6.11 本章小結

    ?

    第7章 建構響應式系統應用

    7.1 響應式系統簡介

    7.2 Quarkus響應式應用簡介

    7.3 建立響應式JAX-RS應用

    7.4 建立響應式SQL Client應用

    7.5 建立響應式Hibernate應用

    7.6 建立響應式Redis應用

    7.7 建立響應式MongoDB應用

    7.8 建立響應式Apache Kafka應用

    7.9 建立響應式AMQP應用

    7.10 Quarkus響應式基礎框架Vert.x的應用

    7.11 本章小結

    ?

    第8章 Quarkus微服務容錯機制

    8.1 微服務容錯簡介

    8.2 Quarkus容錯的實現

    8.3 本章小結

    ?

    第9章 Quarkus監控和日誌

    9.1 Quarkus的健康監控

    9.2 Quarkus的監控度量

    9.3 Quarkus的呼叫鏈日誌

    9.4 本章小結

    ?

    第10章 整合Spring到Quarkus中

    10.1 整合Spring的DI功能

    10.2 整合Spring的Web功能

    10.3 整合Spring的Data功能

    10.4 整合Spring的安全功能

    10.5 獲取Spring Boot的設定檔屬性功能

    10.6 獲取Spring Cloud的Config Server設定檔屬性功能

    10.7 本章小結

    ?

    第11章 Quarkus的雲端原生應用和部署

    11.1 建構容器映像檔

    11.2 生成Kubernetes資源檔

    11.3 生成OpenShift資源檔

    11.4 生成Knative資源檔

    11.5 本章小結

    ?

    第12章 進階應用——Quarkus Extension

    12.1 Quarkus Extension概述

    12.2 建立一個Quarkus擴充應用

    12.3 一些關於Quarkus Extension的說明

    12.4 本章小結

    ?

    A後記

    B參考文獻

    C本書連結





    推薦序



    紅帽中國首席架構師 張家駒




      Java,作為歷久不衰的程式語言,以其物件導向、跨平台、分散式、高性能、元件化、動態特性等諸多特點,在企業計算、個人計算、行動計算等領域,一直備受開發者青睞。以Java語言為藍本,在軟體工程方法、設計模式等領域的迭代與發展,更是層出不窮。Java語言,在近三十年的發展歷程中,形成了諸多被工業界廣泛接受的標準和框架,為開發大型應用提供了便利,隱藏了電腦底層技術的複雜性,使開發者可以更專注於業務邏輯,可以快速、高效率地開發應用,以及穩定、可靠地運行應用。因此,在軟體產業中,多年來也培養出、成長起一大批具有Java開發背景的軟體工程師、架構師、管理者。這些從業者形成了強大的Java開發者社區,推動著Java語言不斷向前發展。



      歷史的車輪不斷向前,從傳統的企業計算,到雲端運算,再到霧計算,計算無處不在。應用架構從傳統的單體應用、三層架構走向分散式、微服務、無伺服器架構,架構不斷演變,從「大而全」轉向「小而多」,便於應用的快速開發、迭代、整合、上線。因此,對程式語言及其開發框架來說,也提出了適應時代發展的新要求,比如為了使應用可以更快地啟動、執行時期佔用更少的記憶體以便大量的應用可以同時運行,語言及其框架需要做出一些改變,等等。傳統的Java框架在這種新需求下顯得有些「厚重」了,如何讓其「瘦身」,成為Java社區的熱點。



      Quarkus正是在這樣的背景下應運而生的,我們可以稱它為雲端原生時代的Java框架,或「超音速次原子Java框架」,這恰恰說明了Quarkus的兩個最重要的特點,一個是「快」,一個是「小」。具體的Quarkus是什麼?它有哪些優點?它是如何應用的?相信你一定很好奇,帶著疑問閱讀本書,你必將收穫良多。



      本書作者以大量的親身實踐,帶讀者掌握Quarkus技術、走進雲端原生應用程式開發的世界。願我們一起擁抱雲端原生、擁抱未來!



    亞馬遜雲端科技專業顧問服務團隊經理 陳明儀(Simon Chen)



      在當今這個追求效率和便捷性的網際網路時代,閱讀這樣一本用心撰寫的IT圖書,讓我獲益匪淺。作者圖、文、碼並茂地介紹了Quarkus開發相關知識,可以讓讀者在追求企業微服務系統規劃實施的道路上實現快速學習、彎道超車。



      在本書中,詳細說明了在微服務應用程式開發和架構設計中Quarkus是如何結合Redis、MongoDB、Kafka、Message Queue和Vert.x等相關框架,讓讀者在學習Quarkus知識的同時,具備讓Quarkus實際落地實施的能力。我在讀完本書後,對作者在微服務系統架構設計、規劃實施及管理整合上展現出的能力,感到欽佩不已。



      最後,本書最讓我印象深刻的是,作者在介紹Quarkus時所表現出的整體結構規劃和深入淺出的表達,這些都讓我這個IT老兵能迅速把握書中要點。期待作者持續創作,不斷寫出在IT界有影響力的圖書。



    前言



      ※本書定位



      本書是一本Quarkus開發指南,簡單地說,就是告訴讀者如何快速、高效和精準地進行Quarkus開發。本書中實踐內容佔九成,而理論知識提及較少,因此本書是一本實踐性和可操作性強的圖書。本書既可以作為學習Quarkus的教學,也可以作為架構師的參考手冊,以備不時之需。



      本書以案例為基礎,包含了案例程式的原始程式、講解和驗證。針對各個案例,筆者並沒有簡單地貼原始程式,而是以原始程式、圖示和文字說明相結合的方式進行了詳細解析,幫助讀者了解案例整體想法和設計意圖。



      筆者根據自己的實際工作經驗進行了篩選。如果要開發一個雲端原生微服務應用,那麼需要網路支援、資料支援(包括關聯式資料庫、快取資料庫、NoSQL資料庫等)和安全框架,實現這些基本上就能夠完成一個雲端原生微服務系統的大部分功能。如果涉及非同步處理或事件處理,還可以加上一個訊息元件或流元件。更進一步地,如果還有更進階的用法,那就接著增加容錯、監控、非阻塞等元件。上述這些知識基本上都被筆者精選的案例所囊括。可以說,筆者選擇的案例已經可以覆蓋80%~90%的雲端原生微服務應用程式開發相關內容。



      本書中反覆提及Java的規範和標準。在IT世界中,各種開放原始碼平台和產品層出不窮,而且進行著快速迭代。學習每個平台和產品都需要投入精力和時間成本,但很多時候往往是,開發者非常辛苦地學習了一套平台的用法,沒想到稍過一段時間,就發現所學技術或技能已經落後。而在Java領域中,學習相關規範和標準能讓學習成本變低,讓我們更快、更容易地學習技術和技能。



      ※本書結構



      .第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. 企業級服務導向架構應用 SOA:Base on Apache CXF
    2. SOA架構的唯一途徑:Apache CXF完美建立企業解決方案
    3. 用Apache CXF建立企業級的SOA架構應用