Spring Cloud 微服務架構開發
內容描述
Spring Cloud是一套完整的微服務架構解決方案,
它利用Spring Boot的開發便利性巧妙地簡化了分佈式系統開發過程。
可以說,Spring Cloud繼承了Spring Boot的優點,屏蔽掉了複雜的配置和實現原理,
終給發者留出了一套簡單易懂、易部署和易維護的分佈式系統開發工具包。
本書基於Spring Cloud Greenwich.SR2版本,
全面介紹了Spring Cloud針對微服務架構中核心要素的解決方案和基礎組件。
其中,1章主要介紹了微服務架構的特點、Spring Cloud的組件和版本;2~9章主要介紹了Spring Cloud的常用組件,包括服務的註冊與發現框架Eureka、
客戶端負載均衡工具Ribbon 、聲明式服務調用客戶端Feign、
服務容錯保護庫Hystrix、服務網關Zuul、分佈式配置中心Spring Cloud Config、
消息驅動框架Spring Cloud Stream、分佈式服務追蹤框架Spring Cloud Sleuth;
*10章通過搭建一個小型的購物網站,手把手教讀者搭建一個微服務架構系統。
希望讀者通過本書的學習,能夠學會Spring Cloud各個組件的用法,
並瞭解分佈式微服務架構的搭建過程。
本書附有配套視頻、源代碼、習題、教學課件等資源。
為幫助初學者更好地學習本書中的內容,我們還提供了在線答疑。
本書既可作為高等教育本、專科院校計算機相關專業的Java類教材,
也可作為對Spring Cloud感興趣人員的自學用書。
目錄大綱
目錄:
第1章微服務架構與Spring Cloud 1
1.1認識架構1
1.1.1單體架構1
1.1.2 SOA架構2
1.1.3微服務架構2
1.2微服務架構的功能3
1.3初識Spring Cloud 4
1.3 .1 Spring Cloud概述4
1.3.2 Spring Cloud微服務架構的組件5
1.4 Spring Cloud版本說明6
1.4.1 Spring Cloud的版本號6
1.4.2 Spring Cloud與Spring Boot的兼容性7
1.5本章小結8
1.6本章習題8
第2章服務的註冊與發現框架Eureka 10
2.1 Eureka的工作機制10
2.1.1 Eureka的工作原理10
2.1.2服務提供者與服務消費者11
2.2第一個Eureka應用12
2.2.1搭建Eureka Server 12
2.2.2搭建服務提供者15
2.2.3搭建服務消費者17
2.3搭建Eureka高可用集群20
2.4 Eureka的常用配置24
2.4.1心跳機制24
2.4.2自我保護機制24
2.4.3其他配置25
2.5本章小結25
2.6本章習題26
第3章客戶端負載均衡器Ribbon 28
3.1什麼是負載均衡28
3.2認識Ribbon 29
3.3第一個Ribbon實例30
3.4 Ribbon的工作原理36
3.5 Ribbon負載均衡策略38
3.6本章小結39
3.7本章習題39
第4章---聲明式服務調用客戶端Feign 41
4.1 Feign簡介41
4.2 Feign快速入門41
4.2.1第一個Feign程序42
4.2.2參數綁定46
4.2.3繼承特性48
4.3 Feign配置51
4.3.1 Ribbon的相關配置51
4.3.2日誌配置52
4.3.3其他配置54
4.4 Feign服務調用的工作原理54
4.5 Feign的負載均衡實現原理58
4.6本章小結61
4.7本章習題61
第5章服務容錯保護庫Hystrix 63
5.1 Hystrix簡介63
5.2 Hystrix快速入門67
5.3在Feign中使用Hystrix熔斷器70
5.4 Hystrix的工作原理71
5.5使用Hystrix Dashboard監控熔斷器狀態74
5.6使用Hystrix和Turbine進行聚合監控77
5.7本章小結80
5.8本章習題80
第6章服務網關Zuul 82
6.1 Zuul概述82
6.2 Zuul快速入門83
6.3 Zuul路由的映射規則配置88
6.3.1服務路由配置88
6.3.2服務路由的默認規則89
6.3.3自定義路由映射規則89
6.3.4路徑匹配90
6.3.5路由前綴91
6.4 Zuul與Hystrix結合實現熔斷92
6.5 Zuul中的Eager Load配置93
6.6 Zuul的過濾器94
6.6.1 Zuul的過濾器介紹94
6.6.2 Zuul請求的生命週期94
6.6.3自定義Zuul過濾器95
6.6.4禁用Zuul過濾器96
6.7本章小結96
6.8課後習題97
第7章分佈式配置中心Spring Cloud Config 99
7.1認識Spring Cloud Config 99
7.2 Config Server讀取配置文件100
7.2.1 Config Server從本地倉庫讀取配置文件101
7.2.2 Config Server從遠程Git倉庫讀取配置文件104
7.3搭建高可用的Config Server 105
7.4 Config與Bus整合實現配置自動刷新108
7.5本章小結110
7.6本章習題110
第8章基於Spring Cloud的消息驅動框架Stream 112
8.1 Spring Cloud Stream簡介112
8.2 Spring Cloud Stream快速入門113
8.3 Spring Cloud Stream的發布-訂閱模式116
8.4 Spring Cloud Stream的消費組和消息分區121
8.4.1 Spring Cloud Stream的消費組121
8.4.2 Spring Cloud Stream的消息分區123
8.5本章小結126
8.6本章習題126
第9章分佈式服務追踪框架Spring Cloud Sleuth 128
9.1 Spring Cloud Sleuth概述128
9.1.1 Spring Cloud Sleuth簡介128
9.1.2 Spring Cloud Sleuth的術語129
9.2 Spring Cloud Sleuth整合Zipkin 130
9.3在Zipkin鏈路中添加自定義數據139
9.4使用RabbitMQ收集鏈路數據140
9.5在MySQL數據庫中存儲鏈路 數據143
9.6本章小結150
9.7本章習題151
第10章Spring Cloud實戰——電商網站153
10.1項目概述153
10.1.1項目功能介紹153
10.1.2系統效果預覽153
10.2項目設計157
10.2.1架構的設計157
10.2.2數據庫的設計158
10.3項目開發準備工作159
10.3.1系統開發及運行環境159
10.3.2系統工程結構160
10.3.3數據庫準備工作162
10.4 Eureka Server與公共工程的搭建163
10.4.1搭建Eureka Server 163
10.4.2搭建公共工程common 165
10.5用戶模塊實現166
10.5.1構建用戶模塊相關工程166
10.5.2實現用戶註冊功能170
10.5.3實現用戶登錄功能173
10.6商品模塊代碼實現175
10.6.1構建商品模塊工程175
10.6.2實現商品展示與模糊查詢功能178
10.6.3實現加入購物車功能185
10.6.4實現購物車購買與刪除購物車功能188
10.6.5實現訂單顯示功能191
10.7模塊之間跳轉的攔截器193
10.8網關項目的代碼實現195
10.9本章小結196
作者介紹
黑馬程序員
傳智播客旗下高端IT教育牌,它是由中國Java培訓一人張孝祥老師發起,
聯合全球大的中文IT社區CSDN、中關村軟件園共同創辦的一家專業教育機構。
辦學到今,我們一直堅守著“為千萬人少走彎路而著書,為中華軟件之崛起而講課”的辦學理念,
堅持培養秀軟件應用工程師的宏偉目標,在累計培養的十萬餘名學員中,
其中90%的學員均已在北、上、廣等一線城市高薪就業。