《Spring Cloud微服務架構進階》是2018年機械工業出版社出版的圖書。
基本介紹
- 中文名:Spring Cloud微服務架構進階
- 出版時間:2018年10月
- 出版社:機械工業出版社
- ISBN:9787111608684
內容簡介,圖書目錄,
內容簡介
本書全面系統地介紹Spring Cloud及其在微服務架構中的套用。全書共13章,第1章介紹微服務架構相關的基本概念;第2章介紹Spring Cloud中包含的組件以Spring Cloud約定的上下文;第3章介紹Spring Cloud的基礎:Spring Boot,包括如何構建一個Spring Boot服務、Spring Boot的配置檔案和Actuator提供的監控管理端點;第4至第13章詳細講解Spring Cloud組件,包括:Eureka(服務註冊與發現)、OpenFeign(聲明式Restful客戶端)、Hystrix(斷路器)、Ribbon(客戶端負載均衡器)、Gateway(API網關)、Config(配置中心)、Stream(訊息驅動)、Bus(訊息匯流排)、Security(認證與授權)、Sleuth(服務鏈路追蹤)。本書為讀者揭開了Spring Cloud組件實現的技術內幕,並提供了進階套用的思路,可以作為使用Spring Cloud進行微服務架構實踐的參考書。
圖書目錄
前言
第1章 微服務架構介紹1
1.1 微服務架構的出現1
1.1.1 單體套用架構1
1.1.2 SOA架構2
1.1.3 微服務架構3
1.2 微服務架構的流派5
1.3 雲原生與微服務9
1.4 本章小結12
第2章 Spring Cloud總覽13
2.1 Spring Cloud架構13
2.2 Spring Cloud特性16
2.2.1 Spring Cloud Context:套用上下文16
2.2.2 Spring Cloud Commons:公共抽象19
2.3 本章小結21
第3章 Spring Cloud的基礎:Spring Boot22
3.1 Spring Boot簡介22
3.2 構建一個微服務24
3.3 Spring Boot配置檔案29
3.3.1 默認配置檔案29
3.3.2 外部化配置29
3.3.3 YAML30
3.3.4 自動載入外部屬性到Bean30
3.3.5 多Profile31
3.3.6 Starter32
3.3.7 自製一個Starter32
3.3.8 Actuator36
3.4 本章小結38
第4章 服務註冊與發現:Eureka39
4.1 基礎套用40
4.1.1 Eureka簡介40
4.1.2 搭建Eureka服務註冊中心40
4.1.3 搭建Eureka服務提供者42
4.1.4 搭建Eureka服務調用者43
4.1.5 Eureka服務註冊和發現44
4.1.6 Consul的簡單套用46
4.2 服務發現原理48
4.3 Eureka Client源碼解析49
4.3.1 讀取套用自身配置信息50
4.3.2 服務發現客戶端52
4.3.3 拉取註冊表信息56
4.3.4 服務註冊61
4.3.5 初始化定時任務62
4.3.6 服務下線68
4.4 Eureka Server源碼解析70
4.4.1 服務實例註冊表70
4.4.2 服務註冊72
4.4.3 接受服務心跳74
4.4.4 服務剔除75
4.4.5 服務下線77
4.4.6 集群同步78
4.4.7 獲取註冊表中服務實例信息82
4.5 進階套用84
4.5.1 Eureka Instance和Client的元數據84
4.5.2 狀態頁和健康檢查頁連線埠設定85
4.5.3 區域與可用區85
4.5.4 高可用性服務註冊中心86
4.6 本章小結87
第5章 聲明式RESTful客戶端:Spring Cloud OpenFeign88
5.1 基礎套用88
5.1.1 微服務之間的互動88
5.1.2 OpenFeign簡介89
5.1.3 代碼示例89
5.2 源碼分析91
5.2.1 核心組件與概念91
5.2.2 動態註冊BeanDefinition92
5.2.3 實例初始化98
5.2.4 函式調用和網路請求107
5.3 進階套用111
5.3.1 Decoder與Encoder的定製化111
5.3.2 請求/回響壓縮112
5.4 本章小結113
第6章 斷路器:Hystrix114
6.1 基礎套用114
6.1.1 RestTemplate與Hystrix115
6.1.2 OpenFeign與Hystrix117
6.2 Hystrix原理118
6.2.1 服務雪崩118
6.2.2 斷路器119
6.2.3 服務降級操作120
6.2.4 資源隔離121
6.2.5 Hystrix實現思路122
6.3 源碼解析123
6.3.1 封裝HystrixCommand123
6.3.2 HystrixCommand類結構129
6.3.3 異步回調執行命令129
6.3.4 異步執行命令和同步執行命令137
6.3.5 斷路器邏輯137
6.3.6 資源隔離143
6.3.7 請求逾時監控148
6.3.8 失敗回滾邏輯150
6.4 進階套用152
6.4.1 異步與異步回調執行命令152
6.4.2 繼承HystrixCommand153
6.4.3 請求合併157
6.5 本章小結161
第7章 客戶端負載均衡器:Spring Cloud Netflix Ribbon162
7.1 負載均衡162
7.2 基礎套用163
7.3 源碼分析165
7.3.1 配置和實例初始化165
7.3.2 與OpenFeign的集成167
7.3.3 負載均衡器LoadBalancerClient171
7.3.4 ILoadBalancer173
7.3.5 負載均衡策略實現177
7.4 進階套用184
7.4.1 Ribbon API184
7.4.2 使用Netty傳送網路請求185
7.4.3 唯讀資料庫的負載均衡實現186
7.5 本章小結187
第8章 API網關:Spring Cloud Gateway189
8.1 Spring Cloud Gateway介紹189
8.2 基礎套用190
8.2.1 用戶服務191
8.2.2 網關服務192
8.2.3 客戶端的訪問195
8.3 源碼解析195
8.3.1 初始化配置196
8.3.2 網關處理器197
8.3.3 路由定義定位器202
8.3.4 路由定位器205
8.3.5 路由斷言208
8.3.6 網關過濾器216
8.3.7 全局過濾器227
8.3.8 API端點234
8.4 套用進階235
8.4.1 限流機制235
8.4.2 熔斷降級238
8.4.3 網關重試過濾器240
8.5 本章小結241
第9章 配置中心:Spring Cloud Config243
9.1 基礎套用244
9.1.1 配置客戶端244
9.1.2 配置倉庫245
9.1.3 服務端246
9.1.4 配置驗證248
9.1.5 配置動態更新249
9.2 源碼解析250
9.2.1 配置伺服器251
9.2.2 配置客戶端261
9.3 套用進階267
9.3.1 為Config Server配置多個repo268
9.3.2 客戶端覆寫遠端的配置屬性268
9.3.3 屬性覆蓋269
9.3.4 安全保護269
9.3.5 加密解密270
9.3.6 快速回響失敗與重試機制272
9.4 本章小結272
第10章 訊息驅動:Spring Cloud Stream274
10.1 訊息佇列274
10.2 基礎套用276
10.2.1 聲明和綁定通道276
10.2.2 自定義通道276
10.2.3 接收訊息276
10.2.4 配置278
10.3 源碼分析278
10.3.1 動態註冊BeanDefinition279
10.3.2 綁定服務282
10.3.3 獲取綁定器284
10.3.4 綁定生產者289
10.3.5 訊息傳送的流程291
10.3.6 StreamListener註解的處理293
10.3.7 綁定消費者298
10.3.8 訊息的接收304
10.4 進階套用306
10.4.1 Binder For RocketMQ306
10.4.2 多實例311
10.4.3 分區311
10.5 本章小結313
第11章 訊息匯流排:Spring Cloud Bus314
11.1 基礎套用314
11.1.1 配置伺服器315
11.1.2 配置客戶端316
11.1.3 結果驗證316
11.2 源碼解析318
11.2.1 事件的定義與事件監聽器319
11.2.2 訊息的訂閱與發布326
11.2.3 控制端點328
11.3 套用進階329
11.3.1 在自定義的包中註冊事件329
11.3.2 自定義監聽器330
11.3.3 事件的發起者331
11.4 本章小結332
第12章 認證與授權:Spring Cloud Security333
12.1 基礎套用333
12.1.1 OAuth2簡介334
12.1.2 JWT336
12.1.3 搭建授權伺服器338
12.1.4 配置資源伺服器341
12.1.5 訪問受限資源344
12.2 整體架構346
12.3 源碼解析348
12.3.1 安全上下文349
12.3.2 認證350
12.3.3 授權357
12.3.4 Spring Security中的過濾器與攔截器361
12.3.5 授權伺服器372
12.3.6 資源伺服器387
12.3.7 令牌中繼機制394
12.4 進階套用395
12.4.1 Spring Security定製395
12.4.2 OAuth2定製399
12.4.3 SSO單點登錄403
12.5 本章小結406
第13章 服務鏈路追蹤:Spring Cloud Sleuth407
13.1 鏈路監控組件簡介407
13.2 基礎套用410
13.2.1 特性411
13.2.2 項目準備411
13.2.3 Spring Cloud Sleuth獨立實現414
13.2.4 集成Zipkin414
13.3 本章小結420