目录
第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