定 價(jià):¥106.00
作 者: | 方劍 著 |
出版社: | 電子工業(yè)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787121399732 | 出版時(shí)間: | 2020-12-01 | 包裝: | 平裝 |
開(kāi)本: | 16 | 頁(yè)數(shù): | 452 | 字?jǐn)?shù): |
第1章 Spring Cloud生態(tài) 1
1.1 Spring Cloud 基礎(chǔ):Spring Boot概述 1
1.2 Spring Boot核心特性 3
1.2.1 Web服務(wù)器:WebServer 3
1.2.2 條件注解:@ConditionalOnXX 7
1.2.3 工廠加載機(jī)制 10
1.2.4 配置加載機(jī)制 12
1.2.5 Spring Boot Actuator 15
1.3 Spring Cloud 概述 17
1.3.1 Spring Cloud誕生背景 17
1.3.2 Netflix OSS 19
1.3.3 Spring Cloud項(xiàng)目 20
1.3.4 Spring Cloud 版本 21
1.3.5 Spring Cloud 最新動(dòng)態(tài) 23
第2章 服務(wù)注冊(cè)與服務(wù)發(fā)現(xiàn) 26
2.1 微服務(wù)架構(gòu)演進(jìn) 26
2.2 使用Alib*ba Nacos體驗(yàn)第一個(gè)Spring Cloud微服務(wù)應(yīng)用 29
2.2.1 下載并啟動(dòng)Nacos Server 30
2.2.2 啟動(dòng) Nacos Discovery Provider 進(jìn)行服務(wù)注冊(cè) 32
2.2.3 啟動(dòng) Nacos Discovery Consumer 進(jìn)行服務(wù)發(fā)現(xiàn) 33
2.3 使用Netflix Eureka替換Alib*ba Nacos注冊(cè)中心 36
2.3.1 啟動(dòng)Eureka Server 37
2.3.2 啟動(dòng) Eureka Discovery Provider 進(jìn)行服務(wù)注冊(cè) 38
2.3.3 啟動(dòng) Nacos Discovery Consumer 進(jìn)行服務(wù)發(fā)現(xiàn) 39
2.4 Spring Cloud 統(tǒng)一服務(wù)注冊(cè)/發(fā)現(xiàn)編程模型 40
2.4.1 DiscoveryClient和ReactiveDiscoveryClient 40
2.4.2 ServiceInstance和Registration 44
2.4.3 ServiceRegistry 48
2.4.4 ServiceRegistryEndpoint 50
2.5 雙注冊(cè)雙訂閱模式 51
2.5.1 雙注冊(cè)雙訂閱模式分析 51
2.5.2 案例:使用雙注冊(cè)雙訂閱模式將Eureka注冊(cè)中心遷移到Nacos注冊(cè)中心 54
第3章 負(fù)載均衡與服務(wù)調(diào)用 57
3.1 負(fù)載均衡原理 57
3.2 Spring Cloud LoadBalancer負(fù)載均衡組件 59
3.3 Netflix Ribbon負(fù)載均衡 74
3.3.1 RibbonLoadBalancerClient 74
3.3.2 RibbonServer和Server 79
3.3.3 ServerIntrospector 82
3.3.4 ILoadBalancer 84
3.3.5 ServerList 87
3.3.6 ServerListUpdater 90
3.3.7 ServerStats 92
3.3.8 Netflix Ribbon配置項(xiàng)總結(jié) 94
3.3.9 Ribbon緩存時(shí)間 97
3.4 Dubbo LoadBalance 負(fù)載均衡 98
3.5 OpenFeign:聲明式Rest客戶端 100
3.5.1 OpenFeign概述 100
3.5.2 OpenFeign 對(duì) JAX-RS 的支持 102
3.5.3 OpenFeign 底層執(zhí)行原理 103
3.6 Dubbo Spring Cloud :服務(wù)調(diào)用的新選擇 105
3.7 再談路由和負(fù)載均衡 111
3.8 案例:應(yīng)用流量控制 112
3.8.1 流量控制應(yīng)用的業(yè)務(wù)場(chǎng)景 113
3.8.2 使用 Netflix Ribbon 完成應(yīng)用灰度發(fā)布 115
第4章 配置管理 119
4.1 配置中心背景概述 119
4.2 Spring/Spring Boot 與配置 120
4.3 Spring Cloud與配置 122
4.3.1 使用Alib*ba Nacos體驗(yàn)配置的獲取及動(dòng)態(tài)刷新 123
4.3.2 從Spring Cloud 配置中心獲取配置的原理 125
4.3.3 Spring Cloud配置動(dòng)態(tài)刷新 135
4.4 Spring Cloud Config Server/Client 152
4.4.1 Spring Cloud Config Server 152
4.4.2 Spring Cloud Config Client 165
4.4.3 Spring Cloud Config Client 與 Service Discovery 整合 171
4.4.4 Spring Cloud Config 配置動(dòng)態(tài)刷新 174
4.5 再談配置動(dòng)態(tài)刷新 175
4.6 案例:Spring Cloud應(yīng)用流量控制策略動(dòng)態(tài)生效 180
第5章 熔斷器 184
5.1 熔斷器模式概述 184
5.2 手動(dòng)實(shí)現(xiàn)一個(gè)斷路器 186
5.2.1 定義 State 枚舉和 Counter 計(jì)數(shù)器類 186
5.2.2 定義 CircuitBreaker 類 188
5.2.3 使用 CircuitBreaker 進(jìn)行場(chǎng)景測(cè)試 191
5.3 Spring Cloud Circuit Breaker的技術(shù)演進(jìn) 193
5.4 Alib*ba Sentinel 199
5.4.1 Sentinel核心概述 199
5.4.2 Spring Cloud Alib*ba Sentinel 204
5.4.3 Sentinel VS OpenFeign和RestTemplate 207
5.4.4 Sentinel限流與Dashboard 211
5.4.5 Sentinel的高級(jí)特性 215
5.5 Netflix Hystrix 219
5.5.1 Hystrix核心概述 219
5.5.2 Spring Cloud Netflix Hystrix 225
5.5.3 Hystrix限流與Dashboard 227
5.5.4 Hystrix的高級(jí)特性 231
5.6 Resilience4j 235
5.6.1 Resilience4j 體驗(yàn) 236
5.6.2 Spring Cloud Resilience4j 241
5.6.3 Resilience4j的高級(jí)特性 244
5.7 案例:使用 Sentinel 保護(hù)應(yīng)用,防止服務(wù)雪崩 248
第6章 Spring生態(tài)消息驅(qū)動(dòng) 253
6.1 消息中間件概述 254
6.2 Spring與消息 257
6.2.1 消息編程模型的統(tǒng)一 257
6.2.2 消息的發(fā)送和訂閱 258
6.2.3 WebSocket 265
6.2.4 案例:使用spring-messaging處理WebSocket 268
6.3 Spring Integration 271
6.3.1 Spring Integration 核心組件概述 272
6.3.2 Spring Integration核心組件的使用 275
6.4 Spring Cloud Stream 277
6.4.1 使用Spring Cloud Stream發(fā)送和接收消息 277
6.4.2 理解 Binder 和 Binding 280
6.4.3 深入理解Spring Cloud Stream 282
6.4.4 Spring Cloud Stream的高級(jí)特性 284
第7章 消息總線 295
7.1 消息總線概述 295
7.2 深入理解Spring Cloud Bus 296
7.2.1 Spring Cloud Bus的使用 297
7.2.2 Spring Cloud Bus的原理 300
7.2.3 Spring Cloud Bus 事件 302
7.2.4 Spring Cloud Bus 源碼分析 305
7.3 案例:使用Spring Cloud Bus完成多節(jié)點(diǎn)配置動(dòng)態(tài)刷新 309
第8章 Spring Cloud Data Flow 311
8.1 批處理/流處理概述 312
8.2 流處理案例:信用卡反欺詐系統(tǒng) 315
8.3 批處理案例:統(tǒng)計(jì)GitHub倉(cāng)庫(kù)的各項(xiàng)指標(biāo)數(shù)據(jù) 323
8.4 Spring Cloud Data Flow批處理任務(wù)組合 331
8.5 Spring Cloud Data Flow Shell 335
8.6 Spring Cloud Skipper 337
8.7 Spring Cloud Deployer 341
8.7.1 TaskLauncher 接口 342
8.7.2 AppDeployer 接口 344
8.7.3 LocalAppDeployer 348
8.8 Spring Cloud Task 349
8.8.1 體驗(yàn)Spring Cloud Task 349
8.8.2 深入理解Spring Cloud Task 351
8.8.3 Spring Cloud Task Batch 354
8.9 Spring Batch 358
8.9.1 Spring Batch 核心組件 358
8.9.2 案例:使用 Spring Batch 完成便利店每日賬單統(tǒng)計(jì) 361
第9章 網(wǎng)關(guān) 366
9.1 API網(wǎng)關(guān)概述 366
9.2 Netflix Zuul 368
9.3 非阻塞式的Spring Cloud Gateway 371
9.4 Route路由信息 376
9.5 Predicate機(jī)制 377
9.5.1 PredicateDefinition和AsyncPredicate 377
9.5.2 RoutePredicateFactory 378
9.5.3 內(nèi)置RoutePredicateFactory 381
9.6 Filter機(jī)制 382
9.6.1 FilterDefinition和GatewayFilter 382
9.6.2 GlobalFilter 386
9.6.3 內(nèi)置 GatewayFilterFactory 387
9.6.4 網(wǎng)關(guān)內(nèi)置的GlobalFilter 390
9.7 整合注冊(cè)中心和配置中心 391
9.8 GatewayControllerEndpoint 397
9.9 案例:使用Spring Cloud Gateway進(jìn)行路由轉(zhuǎn)發(fā) 398
第10章 Spring Cloud與Serverless 401
10.1 Serverless 401
10.2 Java Function 403
10.3 Spring Cloud Function 405
10.4 Spring Cloud Function與Spring生態(tài)的整合 411
10.4.1 Spring Cloud Function與Spring Web/WebFlux 412
10.4.2 Spring Cloud Function 與 Spring Cloud Stream 420
10.4.3 Spring Cloud Function 與 Spring Cloud Task 427
10.5 案例:使用GCP Cloud Functions體驗(yàn)Spring Cloud Function 430