图书目录

目录

第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