《Spring Cloud微服務:全棧技術與案例解析》是2018年機械工業出版社出版的圖書。
基本介紹
- 中文名:Spring Cloud微服務:全棧技術與案例解析
- 出版時間:2018年7月
- 出版社:機械工業出版社
- ISBN:9787111601555
內容簡介,圖書目錄,
內容簡介
本書內容共18章,共分為4個部分。第1部分為準備篇,準備篇當中會對微服務以及SpringCloud做一個整體的介紹,同時將SpringCloud的基礎內容進行講解,比如SpringBoot。第2部分為基礎篇,基礎篇當中會對SpringCloud的幾大常用模組進行講解和簡單使用。第3部分為實戰篇,實戰篇當中會通過對在微服務架構中普遍遇到的問題進行實戰解決講解。第4部分為高級篇,高級篇當中就是對SpringCloud進行一些擴展性的使用,比如API網關怎么限流,怎么做灰度發布等。
圖書目錄
前言
部分 準備篇
第1章 Spring Cloud與微服務概述 2
1.1 傳統的單體套用 2
1.1.1 改進單體套用的架構 2
1.1.2 向微服務靠攏 3
1.2 什麼是微服務 4
1.2.1 使用微服務架構的優勢和劣勢 4
1.2.2 重構前的準備工作 5
1.3 什麼是Spring Cloud 5
1.3.1 Spring Cloud模組介紹 5
1.3.2 Spring Cloud版本介紹 6
1.4 本章小結 7
第2章 實戰前的準備工作 8
2.1 開發環境的準備 8
2.2 Spring Boot入門 9
2.2.1 Spring Boot簡介 9
2.2.2 搭建Spring Boot項目 9
2.2.3 編寫個REST接口 11
2.2.4 讀取配置檔案 11
2.2.5 profiles多環境配置 13
2.2.6 熱部署 13
2.2.7 actuator監控 15
2.2.8 統一異常處理 16
2.2.9 異步執行 18
2.2.10 隨機連線埠 21
2.3 本章小結 23
第二部分 基礎篇
第3章 Eureka註冊中心 26
3.1 Eureka 26
3.2 使用Eureka編寫註冊中心服務 27
3.3 編寫服務提供者 29
3.3.1 創建項目註冊到Eureka 29
3.3.2 編寫提供接口 30
3.4 編寫服務消費者 31
3.4.1 直接調用接口 31
3.4.2 通過Eureka來消費接口 32
3.5 開啟Eureka認證 33
3.6 Eureka高可用搭建 33
3.6.1 高可用原理 33
3.6.2 搭建步驟 34
3.7 常用配置講解 35
3.7.1 關閉自我保護 35
3.7.2 自定義Eureka的Instance ID 35
3.7.3 自定義實例跳轉連結 36
3.7.4 快速移除已經失效的服務信息 37
3.8 擴展使用 38
3.8.1 Eureka REST API 38
3.8.2 元數據使用 40
3.8.3 EurekaClient使用 41
3.8.4 健康檢查 43
3.8.5 服務上下線監控 45
3.9 本章小結 46
第4章 客戶端負載均衡Ribbon 47
4.1 Ribbon 47
4.1.1 Ribbon模組 47
4.1.2 Ribbon使用 48
4.2 RestTemplate結合Ribbon使用 49
4.2.1 使用RestTemplate與整合Ribbon 49
4.2.2 RestTemplate負載均衡示例 52
4.2.3 @LoadBalanced註解原理 53
4.2.4 Ribbon API使用 57
4.2.5 Ribbon飢餓載入 58
4.3 負載均衡策略介紹 59
4.4 自定義負載策略 60
4.5 配置詳解 61
4.5.1 常用配置 61
4.5.2 代碼配置Ribbon 62
4.6 重試機制 63
4.7 本章小結 64
第5章 聲明式REST客戶端Feign 65
5.1 使用Feign調用服務接口 65
5.1.1 在Spring Cloud中集成Feign 66
5.1.2 使用Feign調用接口 66
5.2 自定義Feign的配置 67
5.2.1 日誌配置 67
5.2.2 契約配置 69
5.2.3 Basic認證配置 69
5.2.4 逾時時間配置 70
5.2.5 客戶端組件配置 71
5.2.6 GZIP壓縮配置 72
5.2.7 編碼器解碼器配置 72
5.3 脫離Spring Cloud 使用Feign 73
5.3.1 原生註解方式 73
5.3.2 構建Feign對象 74
5.3.3 其他配置 75
5.4 本章小結 76
第6章 Hystrix 服務容錯處理 77
6.1 Hystrix 77
6.1.1 Hystrix的簡單使用 77
6.1.2 回退支持 78
6.1.3 信號量策略配置 79
6.1.4 執行緒隔離策略配置 79
6.1.5 結果快取 80
6.1.6 快取清除 81
6.1.7 合併請求 83
6.2 在Spring Cloud中使用Hystrix 84
6.2.1 簡單使用 84
6.2.2 配置詳解 85
6.2.3 Feign整合Hystrix服務容錯 88
6.2.4 Feign中禁用Hystrix 90
6.3 Hystrix監控 91
6.4 整合Dashboard查看監控數據 92
6.5 Turbine聚合集群數據 94
6.5.1 Turbine使用 94
6.5.2 context-path導致監控失敗 95
6.6 本章小結 95
第7章 API網關 96
7.1 Zuul 簡介 96
7.2 使用Zuul構建微服務網關 97
7.2.1 簡單使用 97
7.2.2 集成Eureka 98
7.3 Zuul路由配置 98
7.4 Zuul過濾器講解 99
7.4.1 過濾器類型 100
7.4.2 請求生命周期 100
7.4.3 使用過濾器 101
7.4.4 過濾器禁用 103
7.4.5 過濾器中傳遞數據 103
7.4.6 過濾器攔截請求 104
7.4.7 過濾器中異常處理 106
7.5 Zuul容錯和回退 108
7.5.1 容錯機制 108
7.5.2 回退機制 109
7.6 Zuul高可用 111
7.7 本章小結 111
第三部分 實戰篇
第8章 分散式配置管理 114
8.1 自研配置管理框架Smconf簡介 114
8.2 Smconf工作原理 115
8.3 Smconf 部署 116
8.3.1 Mongodb安裝 116
8.3.2 Zookeeper安裝 117
8.3.3 Smconf Server部署 118
8.4 項目中集成Smconf 119
8.4.1 集成Smconf 119
8.4.2 使用Smconf 120
8.4.3 配置更新回調 121
8.5 Smconf詳細使用 122
8.5.1 源碼編譯問題 122
8.5.2 後台賬號管理 122
8.5.3 REST API 123
8.6 Smconf源碼解析 125
8.6.1 Client啟動 125
8.6.2 啟動載入配置 127
8.6.3 配置修改推送原理 128
8.7 本章小結 129
第9章 Sleuth服務跟蹤 130
9.1 Spring Cloud集成Sleuth 130
9.2 整合Logstash 131
9.2.1 ELK簡介 131
9.2.2 輸出JSON格式日誌 131
9.3 整合Zipkin 133
9.3.1 創建Zipkin數據收集服務 133
9.3.2 項目集成Zipkin傳送調用鏈數據 134
……