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