Spring Cloud & Docker 雙劍制霸 -- 微服務架構實戰應用技術 (熱銷版)
內容描述
商品特色
Spring Cloud是集微服務框架大成的超值套件
Docker是終極高效輕量級虛擬化的雲端超容器
一個實例貫穿Spring Cloud、微服務架構以及與Docker整合,一試就能上手掌握架構基礎與應用技術。
內容簡介
本書特色
隨著業務的發展、程式的堆砌,公司專案變得日益臃腫、複雜、開發效率低落、難以維護?我們迫切需要能夠解放生產力的新技術──微服務架構Spring Cloud!
作者為Spring Cloud社區創辦者之一,以實戰開發者之豐富經驗,將設定簡單、設計優雅的Spring Cloud所有相關的基礎知識和工具的使用,在本書中進行完整而精闢的剖析;最後則說解了如何將Spring Cloud微服務應用部署運行在Docker上,讓架構系統得予快速、輕鬆且高效運用。
精彩內容
本書涵蓋了微服務理論、開發框架(Spring Cloud)以及執行平台(Docker)三大主題。
❑ Part 1(第1章):有系統的介紹微服務架構。
❑ Part 2(第2-11章):使用Spring Cloud開發框架編寫一個「電影售票系統」。
❑ Part 3(第12-14章):說明如何將微服務實際執行在Docker平台上。
全書採用精心設計的Demo驅動,以連貫的場景、真實的程式範例,來引導讀者學習如何使用強大的微服務技術實現架構設計。本書涵蓋最新版本架構所獨具的技術特性、技巧及案例,幫助讀者避開升級過程中可能遭遇到的困難與陷阱。
更多理論性的內容 (如Cloud Native、12-factor APP、DDD等) 在文中皆以「延伸閱讀」、「Tips」或「Warning」的形式註記,提供有興趣的讀者依此專研,擴展視野。
適用讀者群
Java工程師、系統架構師和運行維護人員,以及對 Spring Cloud 有興趣的技術同好。
目錄大綱
前言
序一
序二
序三
序四
CHAPTER 01 微服務架構概述
1.1 單體應用架構存在的問題
1.2 如何解決單體應用架構存在的問題
1.3 什麼是微服務
1.4 微服務架構的優點與挑戰
1.5 微服務設計原則
1.6 如何實現微服務架構
CHAPTER 02 微服務開發架構—Spring Cloud
2.1 Spring Cloud簡介
2.2 Spring Cloud特點
2.3 Spring Cloud版本
CHAPTER 03 開始使用Spring Cloud實戰微服務
3.1 Spring Cloud實戰前提
3.2 服務提供者與服務消費者
3.4 撰寫服務消費者
3.5 為專案整合Spring Boot Actuator
3.6 強制寫入有哪些問題
CHAPTER 04 微服務註冊與發現
4.1 服務發現簡介
4.2 Eureka簡介
4.3 Eureka原理
4.4 撰寫Eureka Server
4.5 將微服務註冊到Eureka Server上
4.6 Eureka Server的高可用
4.7 使用者認證
4.8 Eureka的中繼資料
4.9 Eureka Server的REST端點
4.10 Eureka的自我保護模式
4.11 多網路卡環境下的IP選擇
4.12 Eureka的健康檢查
4.13 排除Jersey依賴
CHAPTER 05 使用Ribbon實現用戶端側負載平衡
5.1 Ribbon簡介
5.2 為服務消費者整合Ribbon
5.3 Ribbon設定自訂
5.4 脫離Eureka使用Ribbon
5.5 饑餓載入
CHAPTER 06 使用Feign實現宣告式REST呼叫
6.1 Feign簡介
6.2 為服務消費者整合Feign
6.3 自訂Feign設定
6.4 手動建立Feign
6.5 Feign對繼承的支援
6.6 Feign對壓縮的支援
6.7 Feign的記錄檔
6.8 使用Feign建置多參數請求
6.9 使用Feign上傳檔案
CHAPTER 07 使用Hystrix實現微服務的容錯處理
7.1 實現容錯的方法
7.2 使用Hystrix實現容錯
7.3 Hystrix的監控
7.4 使用Hystrix Dashboard視覺化監控資料
7.5 使用Turbine聚合監控資料
CHAPTER 08 使用Zuul建置微服務閘道
8.1 為什麼要使用微服務閘道
8.2 Zuul簡介
8.3 撰寫Zuul微服務閘道
8.4 管理端點
8.5 路由設定詳解
8.6 Zuul的安全與Header
8.7 使用Zuul上傳檔案
8.8 Zuul的篩檢程式
8.9 Zuul的容錯與回復
8.10 饑餓載入
8.11 Query String編碼
8.12 Hystrix隔離策略與執行緒池
8.13 Zuul的高可用
8.14 使用Sidecar整合非JVM微服務
8.15 使用Zuul聚合微服務
CHAPTER 09 使用Spring CloudConfig統一管理微服務設定
9.1 為什麼要統一管理微服務設定
9.2 Spring CloudConfig簡介
9.3 撰寫Config Server
9.4 撰寫Config Client
9.5 Config Server的Git倉庫設定詳解
9.6 Config Server的健康狀況指示器
9.7 設定內容的加解密
9.8 使用/refresh端點手動更新設定
9.9 使用Spring CloudBus自動更新設定
9.10 Spring CloudConfig與Eureka配合使用
9.11 Spring CloudConfig的使用者認證
9.12 Config Server的高可用
CHAPTER 10 使用Spring CloudSleuth實現微服務追蹤
10.1 為什麼要實現微服務追蹤
10.2 Spring CloudSleuth簡介
10.3 整合Spring CloudSleuth
10.4 Spring CloudSleuth與ELK配合使用
10.5 Spring CloudSleuth與Zipkin配合使用
CHAPTER 11 Spring Cloud常見問題與歸納
11.1 Eureka常見問題
11.2 整合Hystrix後第一次請求失敗
11.3 Turbine聚合的資料不完整
11.4 Spring Cloud各元件逾時
11.5 Spring Cloud各元件重試
11.6 Spring Cloud
11.7 Spring Cloud各元件設定屬性
11.8 Spring Cloud定位問題想法歸納
CHAPTER 12 Docker入門
12.1 Docker簡介
12.2 版本與疊代計畫
12.3 Docker的架構
12.4 安裝Docker
12.5 設定映像檔加速器
12.6 Docker常用指令
CHAPTER 13 將微服務執行在Docker上
13.1 使用Dockerfile建置Docker映像檔
13.2 使用Docker Registry管理Docker映像檔
13.3 使用Maven外掛程式建置Docker映像檔
13.4 常見問題與歸納
CHAPTER 14 使用Docker Compose編排微服務
14.1 Docker Compose簡介
14.2 安裝Docker Compose
14.3 Docker Compose快速入門
14.4 docker-compose.yml常用指令
14.5 docker-compose常用指令
14.6 Docker Compose網路設定
14.7 綜合實戰:使用Docker Comose編排Spring Cloud微服務
14.8 常見問題與歸納
APPENDIX A 附錄
A-1 本書搭配程式
A-2 Spring CloudYES—快速開發腳手架
A-3 使用Docker 快速安裝本書中的元件