企業級Java現代化:寫給開發者的雲原生簡明指南 Modernizing Enterprise Java: A Concise Cloud Native Guide for Developers

Eisele, Markus, Vinto, Natale 張衛濱

商品描述

本書討論瞭如何利用現代化的技術開發新一代的企業級Java應用。傳統的單體應用已經難以適應雲環境下的開發和部署,因此,作者首先介紹了在雲環境下需要什麽樣的Java應用架構和開發實踐。作者基於Quarkus、Spring Boot和Vert.x技術搭建了一個典型的雲原生分佈式應用,並將其容器化和部署至Kubernetes。Serverless是一種新興的應用開發和部署模式,能夠最大化地節省成本,作者以Knative平臺為例,講解瞭如何將我們開發的雲原生應用部署至Serverless平臺。在應用現代化的過程中,我們不僅要面臨新應用的開發,更要處理已有的遺留應用,作者花費大量的篇幅介紹了對傳統應用進行現代化改造的行動方案,其中涉及大量最佳實踐,以及實用的技術和工具。

目錄大綱

序言 前言 第1章 重新回顧企業級開發 什麽是公有雲與私有雲?為何要使用雲 “雲原生”的含義 Kubernetes原生的開發 面向開發者的容器和編排 容器原生的運行時 Kubernetes的不同風格 管理開發的復雜性 DevOps與敏捷 小結 第2章 雲原生Java之路 雲原生工作坊 架構 使用Quarkus創建Inventory微服務 創建Quarkus Maven項目 創建領域模型 創建RESTful服務 在開發模式下運行應用 使用Spring Boot創建Catalog微服務 創建Maven項目 創建領域模型 創建數據資源庫 創建RESTful服務 使用Vert.x創建Gateway服務 創建Vert.x Maven項目 創建API Gateway 使用Node.js和AngularJS創建前端 運行前端 小結 第3章 輕裝前行 是三層還是分佈式系統 技術更新、現代化和轉型 6R 分解並容器化 將Kubernetes作為新的應用服務器 定義目標平臺 強制遷移的步驟和工具 創建應用組合 為大事做準備 小結 第4章 基於Kubernetes的軟件開發平臺 開發人員與Kubernetes Kubernetes能夠做什麽 Kubernetes不能做什麽 基礎設施即代碼 容器鏡像 Dockerfile 構建容器鏡像 運行容器 鏡像倉庫 部署至Kubernetes Pod Service Deployment Kubernetes與Java Jib JKube 小結 第5章 超越原樣轉移:處理遺留系統 管理遺留系統 評估要遷移的應用 評估要遷移的功能 遷移方式 保護遺留應用(Replatform) 構建新的應用(Refactor) 挑戰 避免雙重寫入 長時間運行的事務 快速移除舊代碼 集成 小結 第6章 構建Kubernetes原生的應用 尋找可擴展性和復雜性之間的平衡點 現代化架構的功能性需求 API驅動 服務發現 安全與授權 監控 跟蹤 日誌 CI/CD 調試微服務 埠轉發 Quarkus遠程開發模式 Telepresence 小結 第7章 未來之路:Serverless 什麽是Serverless 架構的演進 使用場景:數據、AI與機器學習 使用場景:邊緣計算和IoT Knative:適用於Kubernetes的Serverless 事件驅動的Serverless架構 面向Java應用的函數即服務 Java應用的函數部署 Boson Function CLI 小結 索引