Spring Cloud作為微服務(wù)開發(fā)的優(yōu)秀代表,它的全家桶中的各組件解決了軟件架構(gòu)中的一些關(guān)鍵問題,Spring框架在企業(yè)開發(fā)中的廣泛應(yīng)用,使得開發(fā)工程師和架構(gòu)師紛紛轉(zhuǎn)向Spring Cloud微服務(wù)架構(gòu)開發(fā),Spring Cloud正被越來越多的企業(yè)用于生產(chǎn)環(huán)境中。
《Spring Boot+Spring Cloud微服務(wù)開發(fā)》分為15章。第1~2章主要講解Spring Boot基礎(chǔ)開發(fā)技術(shù),對(duì)微服務(wù)和Spring Cloud的概念、優(yōu)劣勢(shì)、功能模塊等做整體性的介紹,并演示基于IDEA開發(fā)環(huán)境如何從零開始進(jìn)行Spring Cloud微服務(wù)的應(yīng)用開發(fā)。第3~14章主要講解Spring Cloud在分布式應(yīng)用的核心場(chǎng)景中涉及的解決方案,即Spring Cloud框架的常用組件,包括服務(wù)調(diào)用、治理、客戶端負(fù)載均衡、調(diào)用鏈追蹤、分布式配置、斷路器及路由和網(wǎng)關(guān)等實(shí)現(xiàn)框架,是微服務(wù)開發(fā)實(shí)踐的核心內(nèi)容。第15章是微服務(wù)項(xiàng)目綜合實(shí)戰(zhàn),將Spring Cloud全家桶中的常用組件及Spring Boot開發(fā)中的重要技術(shù)點(diǎn)貫穿起來,形成一個(gè)完整的綜合案例,闡述了各章節(jié)介紹的知識(shí)模塊在實(shí)際項(xiàng)目中的應(yīng)用和開發(fā)技巧。
《Spring Boot+Spring Cloud微服務(wù)開發(fā)》適合需要快速學(xué)習(xí)Spring Boot+Spring Cloud的Java微服務(wù)開發(fā)工程師、Spring Cloud開發(fā)人員、微服務(wù)架構(gòu)師,也適合作為高等院校和培訓(xùn)機(jī)構(gòu)計(jì)算機(jī)及相關(guān)專業(yè)的師生參考。
目 錄
第1章 Spring Boot基礎(chǔ) 1
1.1 Spring Boot初體驗(yàn) 1
1.1.1 Spring Boot 簡(jiǎn)介 1
1.1.2 Spring Boot的特性和優(yōu)點(diǎn) 2
1.1.3 Spring Boot開發(fā)環(huán)境準(zhǔn)備 3
1.1.4 Spring Boot入門程序 4
1.1.5 入門程序分析 6
1.2 Spring Boot配置文件 8
1.2.1 配置文件命名和格式 8
1.2.2 YAML語法 9
1.2.3 在配置文件中注入值 10
1.2.4 Profile使用 15
1.2.5 配置文件加載位置和順序 16
1.2.6 自動(dòng)配置原理 17
1.3 Spring Boot日志 19
1.3.1 日志框架介紹 19
1.3.2 SLF4J的使用 21
1.3.3 Spring Boot中日志的使用 22
1.3.4 切換日志框架 25
1.4 Spring Boot錯(cuò)誤處理機(jī)制 30
1.4.1 Spring Boot默認(rèn)的錯(cuò)誤處理機(jī)制 30
1.4.2 定制錯(cuò)誤響應(yīng) 33
1.5 Spring Boot搭建微服務(wù)實(shí)戰(zhàn) 35
1.5.1 Server端程序開發(fā) 35
1.5.2 客戶端程序開發(fā) 42
第2章 Spring Cloud概述 46
2.1 微服務(wù)簡(jiǎn)介 46
2.2 系統(tǒng)架構(gòu)的演進(jìn) 47
2.3 Spring Cloud簡(jiǎn)介 49
2.4 Spring Cloud與Spring Boot的關(guān)系 53
2.5 Spring Cloud的優(yōu)點(diǎn) 53
第3章 微服務(wù)注冊(cè)與調(diào)用 55
3.1 Netflix與Spring Cloud 55
3.2 Eureka簡(jiǎn)介 56
3.3 Eureka Server單點(diǎn)模式 58
3.4 創(chuàng)建Eureka Server 58
3.5 微服務(wù)開發(fā)和注冊(cè) 62
3.6 Eureka Server安全 66
第4章 基于Ribbon的客戶端負(fù)載均衡 71
4.1 RestTemplate應(yīng)用 71
4.1.1 Rest和RestTemplate 71
4.1.2 Spring Cloud中使用RestTemplate 73
4.2 Ribbon實(shí)現(xiàn)負(fù)載均衡 74
第5章 Ribbon應(yīng)用深入 79
5.1 通過編碼方式自定義Ribbon Client 80
5.2 通過配置文件自定義Ribbon Client 81
5.3 內(nèi)置的負(fù)載均衡策略 84
5.4 脫離Eureka使用Ribbon 87
第6章 基于Feign的服務(wù)間通信 90
6.1 Feign快速入門 90
6.2 自定義Feign配置 96
6.3 Feign接口日志配置 99
第7章 微服務(wù)集群的高可靠 100
7.1 Eureka Server實(shí)現(xiàn)高可靠 100
7.2 Eureka的一些配置及解釋 107
第8章 Spring Cloud保護(hù)之?dāng)嗦菲骷皯?yīng)用 109
8.1 Hystrix Fallback 109
8.2 Hystrix的超時(shí)時(shí)間配置 113
8.3 Hystrix隔離策略 114
8.4 Hystrix健康檢查 116
8.5 hystrix.stream 117
8.6 在Feign中使用Hystrix Fallback 118
8.7 Hystrix的Dashboard 121
第9章 斷路器聚合監(jiān)控之Turbine 124
9.1 Hystrix Turbine簡(jiǎn)介 124
9.2 開發(fā)Turbine微服務(wù) 125
第10章 基于Zuul的路由和過濾 128
10.1 Zuul反向代理 128
10.2 Zuul路由快速示例 131
10.3 使用serviceId配置路由 133
10.4 使用URL方式配置路由 134
10.5 使用正則表達(dá)式方式配置路由 135
10.6 路由配置路徑前綴 137
10.7 Zuul其他屬性設(shè)置 139
10.8 查看所有的映射 139
10.9 Zuul文件上傳 140
10.10 Zuul回退功能 144
10.11 Zuul過濾器 146
第11章 微服務(wù)網(wǎng)關(guān)Spring Cloud Gateway 149
11.1 Gateway路由配置方式實(shí)現(xiàn) 150
11.2 Gateway路由編程方式實(shí)現(xiàn) 154
第12章 分布式配置管理快速入門 156
12.1 Spring Cloud Config Server介紹 156
12.2 配置服務(wù)中心服務(wù)器 157
12.3 客戶端訪問配置中心 163
第13章 分布式配置管理應(yīng)用深入 167
13.1 基礎(chǔ)架構(gòu)和工作流程 167
13.2 配置倉(cāng)庫(kù) 168
13.2.1 Git倉(cāng)庫(kù)配置 168
13.2.2 SVN倉(cāng)庫(kù)配置 172
13.3 基于Git倉(cāng)庫(kù)的分布式配置實(shí)戰(zhàn) 172
13.3.1 創(chuàng)建Config Server項(xiàng)目 172
13.3.2 創(chuàng)建Git配置項(xiàng)目 175
13.3.3 添加配置文件 178
13.3.4 Config Server引用Git 180
13.3.5 配置客戶端 182
第14章 Spring Cloud鏈路追蹤 186
14.1 Spring Cloud Sleuth組件概述 186
14.2 服務(wù)追蹤實(shí)現(xiàn) 188
第15章 Spring Cloud綜合實(shí)戰(zhàn) 193
15.1 項(xiàng)目總體功能描述 193
15.2 商品微服務(wù)模塊開發(fā) 194
15.3 訂單微服務(wù)模塊開發(fā) 203
15.4 微服務(wù)間通信開發(fā) 216
15.5 商品、訂單微服務(wù)的多模塊改造 225
15.6 基于Git倉(cāng)庫(kù)的分布式配置實(shí)現(xiàn) 236
15.7 訂單流程引入異步消息隊(duì)列 243
15.8 項(xiàng)目引入服務(wù)網(wǎng)關(guān)實(shí)現(xiàn)限流、權(quán)限驗(yàn)證 256