●章微服務架構與SpringCloud1
1.1認識架構1
1.1.1單體架構1
1.1.2SOA架構2
1.1.3微服務架構2
1.2微服務架構的功能3
1.3初識SpringCloud4
1.3.1SpringCloud概述4
1.3.2SpringCloud微服務架構的組件5
1.4SpringCloud版本說明6
1.4.1SpringCloud的版本號6
1.4.2SpringCloud與SpringBoot的兼容性7
1.5本章小結8
1.6本章習題8
第2章服務的注冊與發現框架Eureka10
2.1Eureka的工作機制10
2.1.1Eureka的工作原理10
2.1.2服務提供者與服務消費者11
2.2個Eureka應用12
2.2.1搭建EurekaServer12
2.2.2搭建服務提供者15
2.2.3搭建服務消費者17
2.3搭建Eureka高可用集群20
2.4Eureka的常用配置24
2.4.1心跳機制24
2.4.2自我保護機制24
2.4.3其他配置25
2.5本章小結25
2.6本章習題26
第3章客戶端負載均衡器Ribbon28
3.1什麼是負載均衡28
3.2認識Ribbon29
3.3個Ribbon實例30
3.4Ribbon的工作原理36
3.5Ribbon負載均衡策略38
3.6本章小結39
3.7本章習題39
第4章---聲明式服務調用客戶端Feign41
4.1Feign簡介41
4.2Feign快速入門41
4.2.1個Feign程序42
4.2.2參數綁定46
4.2.3繼承特性48
4.3Feign配置51
4.3.1Ribbon的相關配置51
4.3.2日志配置52
4.3.3其他配置54
4.4Feign服務調用的工作原理54
4.5Feign的負載均衡實現原理58
4.6本章小結61
4.7本章習題61
第5章服務容錯保護庫Hystrix63
5.1Hystrix簡介63
5.2Hystrix快速入門67
5.3在Feign中使用Hystrix熔斷器70
5.4Hystrix的工作原理71
5.5使用HystrixDashboard監控熔斷器狀態74
5.6使用Hystrix和Turbine進行聚合監控77
5.7本章小結80
5.8本章習題80
第6章服務網關Zuul82
6.1Zuul概述82
6.2Zuul快速入門83
6.3Zuul路由的映射規則配置88
6.3.1服務路由配置88
6.3.2服務路由的默認規則89
6.3.3自定義路由映射規則89
6.3.4路徑匹配90
6.3.5路由前綴91
6.4Zuul與Hystrix結合實現熔斷92
6.5Zuul中的EagerLoad配置93
6.6Zuul的過濾器94
6.6.1Zuul的過濾器介紹94
6.6.2Zuul請求的生命周期94
6.6.3自定義Zuul過濾器95
6.6.4禁用Zuul過濾器96
6.7本章小結96
6.8課後習題97
第7章分布式配置中心SpringCloudConfig99
7.1認識SpringCloudConfig99
7.2ConfigServer讀取配置文件100
7.2.1ConfigServer從本地倉庫讀取配置文件101
7.2.2ConfigServer從遠程Git倉庫讀取配置文件104
7.3搭建高可用的ConfigServer105
7.4Config與Bus整合實現配置自動刷新108
7.5本章小結110
7.6本章習題110
第8章基於SpringCloud的消息驅動框架Stream112
8.1SpringCloudStream簡介112
8.2SpringCloudStream快速入門113
8.3SpringCloudStream的發布-訂閱模式116
8.4SpringCloudStream的消費組和消息分區121
8.4.1SpringCloudStream的消費組121
8.4.2SpringCloudStream的消息分區123
8.5本章小結126
8.6本章習題126
第9章分布式服務追蹤框架SpringCloudSleuth128
9.1SpringCloudSleuth概述128
9.1.1SpringCloudSleuth簡介128
9.1.2SpringCloudSleuth的術語129
9.2SpringCloudSleuth整合Zipkin130
9.3在Zipkin鏈路中添加自定義數據139
9.4使用RabbitMQ收集鏈路數據140
9.5在MySQL數據庫中存儲鏈路
數據143
9.6本章小結150
9.7本章習題151
0章SpringCloud實戰——電商網站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.4EurekaServer與公共工程的搭建163
10.4.1搭建EurekaServer163
10.4.2搭建公共工程common165
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
內容簡介
Spring Cloud是一套完整的微服務架構解決方案,它利用Spring Boot的開發便利性巧妙地簡化了分布式繫統開發過程。可以說,Spring Cloud繼承了Spring Boot的優點,屏蔽掉了復雜的配置和實現原理,很終給開發者留出了一套簡單易懂、易部署和易維護的分布式繫統開發工具包。
本書基於Spring Cloud Greenwich.SR2版本,全面介紹了Spring Cloud針對微服務架構中核心要素的解決方案和基礎組件。其中,章主要介紹了微服務架構的特點、Spring Cloud的組件和版本;第2~9章主要介紹了Spring Cloud的常用組件,包括服務的注冊與發現框架Eureka、客戶端負載均衡工具Ribbon、聲明式服務調用客戶端Feign、服務容錯保護庫Hystrix、服務網關Zuul、分布式配置中心Spring Cloud Config、消息驅動框架......