Spring Cloud源碼精講

王濤

  • 出版商: 清華大學
  • 出版日期: 2025-04-01
  • 售價: $774
  • 語言: 簡體中文
  • 頁數: 388
  • ISBN: 7302684839
  • ISBN-13: 9787302684831
  • 相關分類: Java 相關技術
  • 下單後立即進貨 (約4週~6週)

  • Spring Cloud源碼精講-preview-1
  • Spring Cloud源碼精講-preview-2
  • Spring Cloud源碼精講-preview-3
Spring Cloud源碼精講-preview-1

商品描述

"本書聚焦於SpringCloud生態中相關框架的源碼分析,包括註冊中心、配置中心、網關、遠程調用 及負載均衡。通過閱讀本書,讀者能夠迅速瞭解上述框架的核心處理流程。源碼分析在大多數情況下遵循測試用例優先的原則,以確保源碼的可復現性。 本書適合對Spring Framework 框架有一定實踐經驗,並具備Spring Boot 框架和SpringCloud 生態基礎開發能力的讀者。 "

目錄大綱

目錄

第1章 Spring Cloud Consul 初識 1

1.1 構建Spring Cloud Consul源碼環境 1

1.2 驗證Spring Cloud Consul源碼環境 3

本章小結 9

第2章 Spring Cloud Consul的服務註冊 10

2.1 Spring Cloud Commons中的服務註冊 10

2.2 Spring Cloud Consul中的服務註冊 14

本章小結 22

第3章 Spring Cloud Consul的服務發現 24

3.1 @EnableDiscoveryClient 24

3.1.1 SpringFactoryImportSelector工作原理 25

3.1.2 EnableDiscoveryClientImportSelector工作原理 26

3.2 DiscoveryClient 27

3.3 ServiceInstance 29

本章小結 30

第4章 Spring Cloud Config 初識 31

4.1 構建Spring Cloud Config 源碼環境 31

4.2 驗證Spring Cloud Config源碼環境 33

4.3 EnvironmentController 34

4.4 EncryptionController 39

本章小結 40

第5章 Spring Cloud Config服務器端的Factories 41

5.1 Spring Cloud Config 服務器端的BootstrapConfiguration 41

5.1.1 ConfigServerBootstrapConfiguration 41

5.1.2 EncryptionAutoConfiguration 45

5.2 Spring Cloud Config 服務器端的ApplicationListener 48

5.3 Spring Cloud Config服務器端的EnableAutoConfiguration 註解 48

5.3.1 ConfigServerAutoConfiguration 49

5.3.2 VaultEncryptionAutoConfiguration 52

5.4 Spring Cloud Config 服務器端的FailureAnalyzer 53

本章小結 53

第6章 Spring Cloud Config服務器端的加密 54

6.1 Spring Cloud Config 加密解密示例 54

6.2 TextEncryptor 57

6.3 TextEncryptorLocator 57

6.3.1 SingleTextEncryptorLocator 57

6.3.2 KeyStoreTextEncryptorLocator 58

6.4 EnvironmentEncryptor 59

6.4.1 VaultEnvironmentEncryptor 60

6.4.2 CipherEnvironmentEncryptor 61

6.4.3 CipherEnvironmentEncryptor的應用示例 63

6.5 ResourceEncryptor 65

本章小結 69

第7章 Spring Cloud Config服務器端的環境操作 70

7.1 EnvironmentRepository 70

7.1.1 AbstractVaultEnvironmentRepository 71

7.1.2 RedisEnvironmentRepository 75

7.1.3 PassthruEnvironmentRepository 76

7.1.4 NativeEnvironmentRepository 78

7.1.5 AbstractScmEnvironmentRepository 83

7.1.6 SvnKitEnvironmentRepository 85

7.1.7 JGitEnvironmentRepository 87

7.1.8 JdbcEnvironmentRepository 90

7.1.9 CompositeEnvironmentRepository 92

7.1.10 CredhubEnvironmentRepository 93

7.2 EnvironmentRepositoryProperties和EnvironmentRepositoryFactory 94

本章小結 95

第8章 Spring Cloud Config客戶端的Factories 96

8.1 Spring Cloud Config 客戶端的EnableAutoConfiguration 96

8.2 Spring Cloud Config 客戶端的BootstrapConfiguration 98

8.2.1 ConfigServiceBootstrapConfiguration 99

8.2.2 DiscoveryClientConfigServiceBootstrapConfiguration 100

8.3 Spring Cloud Config 客戶端的EnvironmentPostProcessor 101

8.4 Spring Cloud Config 客戶端的 FailureAnalyzer 102

8.5 Spring Cloud Config 客戶端的ConfigDataLocationResolver 102

8.6 Spring Cloud Config 客戶端的 ConfigDataLoader 106

8.7 Spring Cloud Config 客戶端的 BootstrapRegistryInitializer 112

本章小結 113

第9章 Spring Cloud Config客戶端的啟動流程 114

9.1 編寫和執行Spring Cloud Config 客戶端測試用例 114

9.2 Spring Cloud Config 客戶端的啟動過程 115

9.3 Spring Cloud Config 客戶端的刷新機制 122

9.4 Spring Cloud Config 客戶端的服務實例監控器 123

本章小結 126

第10章 Spring Cloud Gateway 初識 127

10.1 構建Spring Cloud Gateway 源碼環境 127

10.2 Spring Cloud Gateway 基本認知 129

本章小結 130

第11章 Spring Cloud Gateway 中的 Factories 131

11.1 Spring Cloud Gateway中的Factories詳解 131

11.2 Spring Cloud Gateway 自動裝配 132

11.2.1 GatewayClassPathWarningAutoConfiguration 132

11.2.2 GatewayResilience4JCircuitBreakerAutoConfiguration 133

11.2.3 GatewayNoLoadBalancerClientAutoConfiguration 134

11.2.4 GatewayMetricsAutoConfiguration 136

11.2.5 GatewayRedisAutoConfiguration 139

11.2.6 GatewayDiscoveryClientAutoConfiguration 140

11.2.7 SimpleUrlHandlerMappingGlobalCorsAutoConfiguration 141

11.2.8 GatewayReactiveLoadBalancerClientAutoConfiguration 142

11.2.9 GatewayReactiveOAuth2AutoConfiguration 143

11.2.10 GatewayAutoConfiguration 143

11.3 Spring Cloud Gateway 環境處理 144

11.4 Spring Cloud Gateway 異常分析器 145

本章小結 145

第12章 Spring Cloud Gateway 中的Event 146

12.1 EnableBodyCachingEvent 146

12.2 FilterArgsEvent 147

12.3 PredicateArgsEvent 148

12.4 RefreshRoutesEvent 148

12.5 WeightDefinedEvent 149

本章小結 151

第13章 Spring Cloud Gateway 中的Endpoint 152

13.1 AbstractGatewayControllerEndpoint 152

13.2 GatewayControllerEndpoint 154

13.3 GatewayLegacyControllerEndpoint 156

本章小結 158

第14章 Spring Cloud Gateway 中的 Route 159

14.1 路由基礎 159

14.2 RouteDefinitionLocator 160

14.3 RouteLocator 164

本章小結 169

第15章 Spring Cloud Gateway中的Filter 170

15.1 過濾器概述 170

15.2 GatewayFilter 171

15.2.1 ModifyResponseGatewayFilter 172

15.2.2 ThrottleGatewayFilter 175

15.2.3 ModifyRequestBodyGatewayFilterFactory 176

15.2.4 RewriteResponseHeaderGatewayFilterFactory 178

15.2.5 RewritePathGatewayFilterFactory 178

15.2.6 StripPrefixGatewayFilterFactory 179

15.3 GlobalFilter 181

15.3.1 NettyWriteResponseFilter 182

15.3.2 GatewayMetricsFilter 183

15.3.3 WebClientHttpRoutingFilter 184

15.3.4 NoLoadBalancerClientFilter 185

15.3.5 WebClientWriteResponseFilter 186

15.3.6 ForwardRoutingFilter 187

15.3.7 ForwardPathFilter 187

15.3.8 AdaptCachedBodyGlobalFilter 188

15.3.9 RouteToRequestUrlFilter 189

15.3.10 RemoveCachedBodyFilter 190

15.3.11 NettyRoutingFilter 190

15.3.12 ReactiveLoadBalancerClientFilter 194

15.3.13 WebsocketRoutingFilter 197

15.3.14 LoadBalancerServiceInstanceCookieFilter 198

本章小結 199

第16章 Spring Cloud Gateway中的Predicate 200

16.1 謂詞概述 200

16.1.1 GatewayPredicate 201

16.1.2 RoutePredicateFactory 202

16.2 AfterRoutePredicateFactory 203

16.3 BeforeRoutePredicateFactory 204

16.4 BetweenRoutePredicateFactory 205

16.5 CookieRoutePredicateFactory 205

16.6 HeaderRoutePredicateFactory 206

16.7 HostRoutePredicateFactory 207

16.8 MethodRoutePredicateFactory 208

16.9 PathRoutePredicateFactory 209

16.10 QueryRoutePredicateFactory 211

16.11 RemoteAddrRoutePredicateFactory 212

16.12 WeightRoutePredicateFactory 213

本章小結 214

第17章 Spring Cloud Gateway中的請求處理流程 215

17.1 流程概述 215

17.2 RoutePredicateHandlerMapping 217

17.3 FilteringWebHandler 220

17.4 請求處理流程調試 221

本章小結 226

第18章 Spring Cloud OpenFeign 初識 227

18.1 構建Spring Cloud OpenFeign源碼環境 227

18.2 構建Feign源碼環境 228

18.3 Feign使用說明 230

本章小結 231

第19章 Feign 核心分析 232

19.1 Feign Builder 232

19.2 Feign中的MethodHandler 238

19.3 Contract 243

19.3.1 Headers註解在類上的處理 244

19.3.2 RequestLine註解在方法上的處理 245

19.3.3 Body註解在方法上的處理 245

19.3.4 Headers註解在方法上的處理 246

19.3.5 Param註解在方法參數上的處理 246

19.3.6 QueryMap註解在方法參數上的處理 247

19.3.7 HeaderMap註解在方法參數上的處理 248

19.3.8 parseAndValidateMetadata 248

19.4 ParseHandlersByName 252

19.5 Feign請求處理流程 254

本章小結 255

第20章 Spring Cloud OpenFeign中的Client 256

20.1 Spring Cloud OpenFeign Client分析 256

20.2 RetryableFeignBlockingLoadBalancerClient 257

20.3 FeignBlockingLoadBalancerClient 261

20.4 Spring Cloud OpenFeign Client 自動裝配 263

本章小結 264

第21章 Spring Cloud OpenFeign中的Factories 265

21.1 Spring Cloud OpenFeign Factories 概述 265

21.2 FeignHalAutoConfiguration 266

21.3 FeignAutoConfiguration 267

21.3.1 FeignClientProperties 267

21.3.2 DefaultGzipDecoderConfiguration 268

21.3.3 FeignAutoConfiguration中的Bean定義 269

21.4 FeignAcceptGzipEncodingAutoConfiguration 和

   FeignContentGzipEncodingAutoConfiguration 271

21.5 FeignLoadBalancerAutoConfiguration 273

本章小結 275

第22章 Spring Cloud OpenFeign 中的@EnableFeignClients 276

22.1 @EnableFeignClients 276

22.2 FeignClientsRegistrar 277

22.3 FeignClientFactoryBean 283

22.4 Targeter 288

22.5 FeignCircuitBreakerInvocationHandler 290

本章小結 292

第23章 Spring Cloud OpenFeign 中的SpringMvcContract 293

23.1 SpringMvcContract 293

23.1.1 parseAndValidateMetadata 294

23.1.2 processAnnotationOnClass 296

23.1.3 processAnnotationOnMethod 297

23.1.4 processAnnotationsOnParamete 299

23.2 AnnotatedParameterProcessor 301

本章小結 307

第24章 Spring Cloud Loadbalancer 初識 308

24.1 構建Spring Cloud Loadbalancer 源碼環境 308

24.2 Spring Cloud Loadbalancer 簡單案例 310

本章小結 313

第25章 Spring Cloud Loadbalancer中的負載均衡客戶端與請求 314

25.1 ServiceInstanceChooser與LoadBalancerClient 314

25.2 BlockingLoadBalancerClient分析 315

25.2.1 ServiceInstanceChooser 315

25.2.2 BlockingLoadBalancerClient 317

25.3 負載均衡請求相關分析 320

25.4 LoadBalancerLifecycle 322

本章小結 324

第26章 Spring Retry 初識 325

26.1 構建Spring Retry 源碼環境 325

26.2 Spring Retry 簡單案例 326

26.3 Spring Retry 核心接口 328

26.4 RetryConfiguration 329

本章小結 331

第27章 Spring Retry中的RetryContext與RetryPolicy分析 332

27.1 RetryContext 概述 332

27.2 RetryPolicy 概述 333

27.3 ExceptionClassifierRetryPolicy 334

27.4 SimpleRetryPolicy 336

27.5 CircuitBreakerRetryPolicy 337

27.6 NeverRetryPolicy 339

27.7 MaxAttemptsRetryPolicy 340

27.8 TimeoutRetryPolicy 340

27.9 CompositeRetryPolicy 341

27.10 RetryContextCache 343

本章小結 344

第28章 Spring Retry 中的RetryOperations 345

28.1 RetryTemplate 345

28.1.1 RetryListener 346

28.1.2 BackOffPolicy 347

28.2 doExecute 分析 348

本章小結 353

第29章 Spring Retry 與AOP相關分析 354

29.1 AnnotationAwareRetryOperationsInterceptor 354

29.2 MethodInterceptor 363

29.2.1 StatefulRetryOperationsInterceptor 363

29.2.2 RetryOperationsInterceptor 366

29.3 MethodInvocationRecoverer 368

本章小結 372

第30章 resilience4j 373

30.1 構建resilience4j 源碼環境搭建 373

30.2 resilience4j 中的熔斷機制 375

30.3 RateLimiterRegistry 378

30.4 RateLimiter 380

30.5 resilience4j中的隔離機制 385

30.5.1 SemaphoreBulkhead 386

30.5.2 FixedThreadPoolBulkhead 387

本章小結 388