Spring Boot+Spring Cloud+Spring Cloud Alibaba微服務訓練營

Spring Boot+Spring Cloud+Spring Cloud Alibaba微服務訓練營

《Spring Boot+Spring Cloud+Spring Cloud Alibaba微服務訓練營》是清華大學出版社出版的圖書,作者是黃文毅。

基本介紹

  • 中文名:Spring Boot+Spring Cloud+Spring Cloud Alibaba微服務訓練營  
  • 作者:黃文毅
  • 類別:編程開發
  • 出版社:清華大學出版社
  • 出版時間:2021年7月1日
  • 定價:99 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787302582236
內容簡介,目 錄,

內容簡介

本書以分散式微服務項目需求為主線,系統地介紹了Spring Boot、Spring Cloud、Spring Cloud Alibaba的生產級特性、重要組件及核心技術,包括服務治理、服務註冊與發現、負載均衡等分散式框架所需要的各種功能。本書共分為14章。第1章主要講解Spring Boot的重要功能特性以及閱讀本書之前需要準備的環境。第2章主要介紹Spring Cloud和Spring Cloud Alibaba模組、版本以及之間的關係。第3章主要介紹註冊中心和配置中心Nacos以及其他開源的組件。第4章主要講解微服務網關Spring Cloud Gateway和Zuul。第5、6章主要講解負載均衡組件Ribbon和微服務調用組件OpenFeign。第7章主要講解服務限流、降級、容錯以及熔斷等技術,包括Hystrix組件和Sentinel組件。第8、9章主要介紹Spring Cloud Bus訊息匯流排、分散式事務解決方案Seata。第10、11章主要講解鏈路追蹤組件Spring Cloud Sleuth和Zipkin,以及Spring Cloud Commons基礎包。第12章主要講解如何通過OAuth 2.0進行授權。第13章主要講解微服務和組件容器化。第14章主要介紹分散式微服務架構的具體案例。

目 錄

第1章 從Spring Boot開始 1
1.1 環境準備 1
1.1.1 安裝JDK 1
1.1.2 安裝Intellij IDEA 4
1.1.3 安裝Maven 4
1.1.4 Docker概述 5
1.2 Spring Boot簡介 14
1.3 第一個Spring Boot項目 16
1.3.1 使用Spring Initializr新建項目 16
1.3.2 測試 18
1.4 Spring Boot目錄介紹 19
1.4.1 Spring Boot工程目錄 19
1.4.2 Spring Boot入口類 20
1.4.3 Spring Boot測試類 20
1.4.4 pom.xml檔案 21
1.5 Spring Boot生產級特性 23
1.5.1 套用監控 23
1.5.2 健康檢查 26
1.5.3 跨域訪問 27
1.5.4 外部配置 28
1.6 Spring Boot原理解析 29
1.6.1 DemoApplication入口類 29
1.6.2 @SpringBootApplication的原理 29
1.6.3 SpringApplication的run方法 31
1.6.4 SpringApplicationRunListener監聽器 32
1.6.5 ApplicationContextInitializer接口 32
1.6.6 ApplicationRunner與CommandLineRunner 34
1.7 SpringApplication的執行流程 35
1.7.1 spring-boot-starter原理 36
1.7.2 Bean參數獲取 39
1.7.3 Bean的發現與載入 40
1.7.4 自定義starter 46
第2章 Spring Cloud/Spring Cloud Alibaba 52
2.1 Spring Cloud介紹 52
2.1.1 Spring Cloud的特性 52
2.1.2 Spring Cloud的模組 53
2.1.3 Spring Cloud版本介紹 54
2.1.4 Spring Cloud與Spring Boot的關係 55
2.2 Spring Cloud Alibaba簡介 55
2.2.1 Spring Cloud Alibaba的主要功能 55
2.2.2 Spring Cloud Alibaba組件 56
2.2.3 Spring Cloud Alibaba版本簡介 57
2.4 Netflix/Spring Cloud/Spring Cloud Alibaba的關係 58
第3章 註冊中心/配置管理 59
3.1 Nacos簡介 59
3.2 Nacos快速開始 60
3.2.1 Nacos Server單機模式 60
3.2.2 Nacos Server集群模式 63
3.2.3 Nacos+Nginx集群模式 66
3.3 Spring Boot註冊到Nacos 67
3.3.1 Nacos配置管理 67
3.3.2 Nacos服務註冊 69
3.4 Nacos Spring Cloud 70
3.4.1 Nacos配置管理 70
3.4.2 Nacos服務註冊 72
3.5 Nacos原理解析 75
3.5.1 Nacos配置中心原理分析 75
3.5.2 Nacos服務發現原理分析 84
3.6 Eureka服務發現 86
3.6.1 Eureka簡介 86
3.6.2 如何看待Eureka停產 88
3.6.3 搭建Eureka註冊中心 88
3.6.4 搭建Eureka註冊中心集群 92
3.7 Spring Cloud Consul 95
3.7.1 Consul簡介 95
3.7.2 Consul安裝與啟動 95
3.7.3 Consul服務註冊與發現 96
3.7.4 Consul配置中心 100
3.7.5 Consul簡單架構 103
3.8 Spring Cloud Config 104
3.8.1 Spring Cloud Config簡介 104
3.8.2 Spring Cloud Config快速入門 105
3.8.3 Spring Cloud Config配置中心原理 108
第4章 微服務網關 109
4.1 Zuul網關 109
4.1.1 Zuul概述 109
4.1.2 Zuul快速入門 110
4.1.3 Zuul路由配置 111
4.1.4 Zuul過濾器 112
4.1.5 管理端點 114
4.1.6 禁用Zuul過濾器 115
4.1.7 啟用Zuul跨域請求 115
4.1.8 Eureka整合Zuul 116
4.2 Spring Cloud Gateway 120
4.2.1 Gateway簡介 120
4.2.2 Gateway快速入門 121
4.2.3 Gateway路由斷言工廠 123
4.2.4 Gateway過濾器工廠 127
4.2.5 Gateway全局過濾器 128
4.2.6 Gateway跨域 131
4.2.7 Gateway Actuator API 132
4.2.8 HTTP逾時配置 134
4.2.9 TLS / SSL設定 135
4.2.10 Gateway底層原理 136
4.3 Gateway與Zuul的區別 137
第5章 Ribbon負載均衡 138
5.1 Ribbon基礎知識 138
5.1.1 Ribbon簡介 138
5.1.2 負載均衡算法 140
5.1.3 第一個Ribbon程式 144
5.2 Ribbon實戰 147
5.2.1 Ribbon自定義負載均衡策略 147
5.2.2 Ribbon飢餓載入 151
5.2.3 Ribbon默認配置 151
5.2.4 配置檔案定義Ribbon客戶端 152
5.2.5 直接使用Ribbon API 153
5.2.6 Eureka/Nacos整合Ribbon 153
第6章 Spring Cloud OpenFeign聲明式調用 155
6.1 Spring Cloud Feign 155
6.1.1 Feign簡介 155
6.1.2 第一個Feign程式 156
6.2 FeignClient詳解與配置 161
6.2.1 @FeignClient詳解 161
6.2.2 Feign Hystrix錯誤回退 166
6.2.3 Feign @QueryMap支持 167
6.2.4 HATEOAS支持 167
6.2.5 Spring @MatrixVariable支持 168
6.2.6 Feign繼承支持 168
6.2.7 Feign CollectionFormat支持 169
6.2.8 Feign請求回響壓縮 169
6.3 Feign日誌配置 170
6.3.1 Java代碼方式 170
6.3.2 配置檔案方式 171
6.3.3 全局日誌配置 171
6.4 自定義處理 172
6.4.1 Feign自定義錯誤 172
6.4.2 Feign攔截器 176
6.4.3 自定義Feign客戶端 177
第7章 熔斷、限流、降級 179
7.1 Spring Cloud Hystrix 179
7.1.1 Hystrix簡介 179
7.1.2 Hystrix初體驗 182
7.1.3 Hystrix請求快取 184
7.1.4 Hystrix請求合併 187
7.1.5 Hystrix默認配置 190
7.1.6 Hystrix配置詳解 191
7.2 Hystrix工作流程 194
7.3 Hystrix監控 196
7.3.1 Spring Boot套用配置Hystrix儀錶板 197
7.3.2 Turbine集群監控 200
7.4 Sentinel 204
7.4.1 Sentinel簡介 204
7.4.2 限流算法 204
7.4.3 Sentinel項目結構 206
7.4.4 Sentinel與Hystrix的區別 207
7.4.5 Sentinel控制台 207
7.4.6 客戶端接入控制台 209
7.4.7 Sentinel微服務限流 210
第8章 Spring Cloud Bus訊息匯流排 214
8.1 Kafka實現訊息匯流排 214
8.1.1 Kafka概述 214
8.1.2 Kafka安裝 217
8.1.3 Docker安裝ZooKeeper和Kafka 219
8.2 Stream簡介 219
8.2.1 核心概念 219
8.2.2 Stream套用編程模型 220
8.2.3 Binder抽象 220
8.2.4 發布—訂閱 221
8.2.5 消費組 221
8.2.6 分區支持 221
8.2.7 健康指標 221
8.3 Spring Cloud Stream實戰 222
8.3.1 Stream快速入門 222
8.3.2 生產者的另一種實現 227
8.3.3 生產和消費訊息 229
8.4 Bus簡介 232
8.4.1 Bus訊息匯流排 232
8.4.2 Spring事件機制 232
8.4.3 Spring Cloud Bus實戰 235
8.4.4 Spring Cloud Bus原理 239
8.4.5 Spring Cloud Bus端點 240
8.4.6 Bus事件追蹤 240
第9章 Spring Cloud Alibaba Seata分散式事務 243
9.1 Seata基礎知識 243
9.1.1 Seata簡介 243
9.1.2 Seata部署 244
9.1.3 Seata原理與設計 246
9.2 Seata使用 247
9.2.1 資料庫準備 247
9.2.2 創建微服務 248
第10章 Spring Cloud Sleuth服務鏈路追蹤 257
10.1 Spring Cloud Sleuth簡介 257
10.2 Zipkin簡介 259
10.3 Spring Cloud Sleuth整合Zipkin 261
10.3.1 整合Zipkin 261
10.3.2 MySQL存儲鏈路數據 265
10.3.3 Sleuth抽樣採集 267
10.3.4 Trace和Span 268
10.4 Spring Cloud Sleuth整合ELK 271
10.5 Sleuth原理淺析 275
10.5.1 TraceId傳遞 275
10.5.2 spring.factories配置檔案 276
10.5.3 TraceEnvironmentPostProcessor處理日誌 278
10.5.4 TraceAutoConfiguration 279
10.5.5 TracingFilter過濾器 280
10.5.6 TraceWebClientAutoConfiguration 283
第11章 Spring Cloud Commons 286
11.1 Spring Cloud Commons簡介 286
11.2 Spring Cloud Context功能 286
11.2.1 bootstrap應用程式上下文 286
11.2.2 修改bootstrap.properties位置 287
11.2.3 覆蓋遠程屬性的值 287
11.2.4 自定義bootstrap配置 287
11.2.5 刷新範圍 288
11.2.6 加密與解密 288
11.2.7 Endpoints端點 288
11.3 Spring Cloud Commons功能 289
11.3.1 @EnableDiscoveryClient註解 289
11.3.2 服務註冊ServiceRegistry 290
11.3.3 多個RestTemplate實例 290
11.3.4 多個WebClient實例 291
11.3.5 忽略網卡 293
11.3.6 HTTP客戶端工廠 293
11.3.7 啟用功能特性 294
11.3.8 Spring Cloud兼容性驗證 295
11.4 Spring Cloud LoadBalancer 295
11.4.1 LoadBalancer簡介 295
11.4.2 Spring Cloud LoadBalancer快取 296
11.4.3 Spring Cloud LoadBalancer Starter 296
11.4.4 自定義Spring Cloud LoadBalancer配置 297
11.5 Spring Cloud Circuit Breaker 297
11.5.1 Circuit Breaker介紹 297
11.5.2 核心概念 298
11.5.3 配置斷路器 299
11.6 具備快取功能隨機數 300
第12章 Spring Cloud OAuth 2.0保護API安全 301
12.1 使用OAuth 2.0進行授權 301
12.1.1 OAuth 2.0簡介 301
12.1.2 OAuth 2.0協定流程 302
12.1.3 認證與授權 302
12.1.4 OAuth 2.0的授權方式 303
12.1.5 Spring Cloud Security OAuth 2.0認證流程 305
12.2 搭建OAuth 2.0服務 306
12.2.1 快速搭建OAuth 2.0服務 306
12.2.2 授權碼模式實現 308
12.3 JWT簡介 313
12.3.1 JWT的結構 313
12.3.2 JWT的套用 315
12.3.3 Spring Security+OAuth 2.0+JWT套用 315
第13章 Spring Cloud組件容器化 336
13.1 Spring Boot項目容器化 336
13.1.1 製作鏡像 336
13.1.2 使用Dockerfile構建鏡像 338
13.1.3 Spring Boot集成Docker 341
13.2 Spring Cloud Alibaba組件容器化 345
13.2.1 Nacos Docker 345
13.2.2 Sentinel Docker 346
13.2.3 Seata Docker 346
第14章 使用Spring Cloud構建微服務綜合案例 348
14.1 案例介紹 348
14.2 技術選型 348
14.2.1 Spring Boot構建微服務 348
14.2.2 Nacos註冊/配置中心 350
14.2.3 Spring Cloud Gateway網關 352
14.2.4 OpenFeign服務調用 355
14.2.5 Ribbon負載均衡 355
14.2.6 Sentinel熔斷/降級/限流 356
14.2.7 ELK+FileBeat日誌系統 357
14.2.8 Promethous+Grafana+InfluxDB監控系統 359
14.2.9 SkyWalking鏈路追蹤系統 363
14.3 總結 365
參考文獻 366

相關詞條

熱門詞條

聯絡我們