开心一笑
我对老公说:“老公,这世界上有北京、南京和东京,为什么就没有西京呢?”
旁边三岁的小儿子马上抢答说:“西经不是被唐僧取走了吗?
购买链接
https://detail.tmall.com/item.htm?spm=a220m.1000858.1000725.7.6a515862wKUNps&id=650053394259&user_id=1614846122&cat_id=2&is_b=1&rn=69ef1b9fae527e28545b90020e80e1bb
目 录
第1章 从Spring Boot开始 1
1.1 环境准备 1
1.1.1 安装JDK 1
1.1.2 安装Intellij IDEA 4
1.1.3 安装Maven 4
1.1.4 Docker概述 5
1.2 Spring Boot简介 14
1.3 第一个Spring Boot项目 16
1.3.1 使用Spring Initializr新建项目 16
1.3.2 测试 18
1.4 Spring Boot目录介绍 19
1.4.1 Spring Boot工程目录 19
1.4.2 Spring Boot入口类 20
1.4.3 Spring Boot测试类 20
1.4.4 pom.xml文件 21
1.5 Spring Boot生产级特性 23
1.5.1 应用监控 23
1.5.2 健康检查 26
1.5.3 跨域访问 27
1.5.4 外部配置 28
1.6 Spring Boot原理解析 29
1.6.1 DemoApplication入口类 29
1.6.2 @SpringBootApplication的原理 29
1.6.3 SpringApplication的run方法 31
1.6.4 SpringApplicationRunListener监听器 32
1.6.5 ApplicationContextInitializer接口 32
1.6.6 ApplicationRunner与CommandLineRunner 34
1.7 SpringApplication的执行流程 35
1.7.1 spring-boot-starter原理 36
1.7.2 Bean参数获取 39
1.7.3 Bean的发现与加载 40
1.7.4 自定义starter 46
第2章 Spring Cloud/Spring Cloud Alibaba 52
2.1 Spring Cloud介绍 52
2.1.1 Spring Cloud的特性 52
2.1.2 Spring Cloud的模块 53
2.1.3 Spring Cloud版本介绍 54
2.1.4 Spring Cloud与Spring Boot的关系 55
2.2 Spring Cloud Alibaba简介 55
2.2.1 Spring Cloud Alibaba的主要功能 55
2.2.2 Spring Cloud Alibaba组件 56
2.2.3 Spring Cloud Alibaba版本简介 57
2.4 Netflix/Spring Cloud/Spring Cloud Alibaba的关系 58
第3章 注册中心/配置管理 59
3.1 Nacos简介 59
3.2 Nacos快速开始 60
3.2.1 Nacos Server单机模式 60
3.2.2 Nacos Server集群模式 63
3.2.3 Nacos+Nginx集群模式 66
3.3 Spring Boot注册到Nacos 67
3.3.1 Nacos配置管理 67
3.3.2 Nacos服务注册 69
3.4 Nacos Spring Cloud 70
3.4.1 Nacos配置管理 70
3.4.2 Nacos服务注册 72
3.5 Nacos原理解析 75
3.5.1 Nacos配置中心原理分析 75
3.5.2 Nacos服务发现原理分析 84
3.6 Eureka服务发现 86
3.6.1 Eureka简介 86
3.6.2 如何看待Eureka停产 88
3.6.3 搭建Eureka注册中心 88
3.6.4 搭建Eureka注册中心集群 92
3.7 Spring Cloud Consul 95
3.7.1 Consul简介 95
3.7.2 Consul安装与启动 95
3.7.3 Consul服务注册与发现 96
3.7.4 Consul配置中心 100
3.7.5 Consul简单架构 103
3.8 Spring Cloud Config 104
3.8.1 Spring Cloud Config简介 104
3.8.2 Spring Cloud Config快速入门 105
3.8.3 Spring Cloud Config配置中心原理 108
第4章 微服务网关 109
4.1 Zuul网关 109
4.1.1 Zuul概述 109
4.1.2 Zuul快速入门 110
4.1.3 Zuul路由配置 111
4.1.4 Zuul过滤器 112
4.1.5 管理端点 114
4.1.6 禁用Zuul过滤器 115
4.1.7 启用Zuul跨域请求 115
4.1.8 Eureka整合Zuul 116
4.2 Spring Cloud Gateway 120
4.2.1 Gateway简介 120
4.2.2 Gateway快速入门 121
4.2.3 Gateway路由断言工厂 123
4.2.4 Gateway过滤器工厂 127
4.2.5 Gateway全局过滤器 128
4.2.6 Gateway跨域 131
4.2.7 Gateway Actuator API 132
4.2.8 HTTP超时配置 134
4.2.9 TLS / SSL设置 135
4.2.10 Gateway底层原理 136
4.3 Gateway与Zuul的区别 137
第5章 Ribbon负载均衡 138
5.1 Ribbon基础知识 138
5.1.1 Ribbon简介 138
5.1.2 负载均衡算法 140
5.1.3 第一个Ribbon程序 144
5.2 Ribbon实战 147
5.2.1 Ribbon自定义负载均衡策略 147
5.2.2 Ribbon饥饿加载 151
5.2.3 Ribbon默认配置 151
5.2.4 配置文件定义Ribbon客户端 152
5.2.5 直接使用Ribbon API 153
5.2.6 Eureka/Nacos整合Ribbon 153
第6章 Spring Cloud OpenFeign声明式调用 155
6.1 Spring Cloud Feign 155
6.1.1 Feign简介 155
6.1.2 第一个Feign程序 156
6.2 FeignClient详解与配置 161
6.2.1 @FeignClient详解 161
6.2.2 Feign Hystrix错误回退 166
6.2.3 Feign @QueryMap支持 167
6.2.4 HATEOAS支持 167
6.2.5 Spring @MatrixVariable支持 168
6.2.6 Feign继承支持 168
6.2.7 Feign CollectionFormat支持 169
6.2.8 Feign请求响应压缩 169
6.3 Feign日志配置 170
6.3.1 Java代码方式 170
6.3.2 配置文件方式 171
6.3.3 全局日志配置 171
6.4 自定义处理 172
6.4.1 Feign自定义错误 172
6.4.2 Feign拦截器 176
6.4.3 自定义Feign客户端 177
第7章 熔断、限流、降级 179
7.1 Spring Cloud Hystrix 179
7.1.1 Hystrix简介 179
7.1.2 Hystrix初体验 182
7.1.3 Hystrix请求缓存 184
7.1.4 Hystrix请求合并 187
7.1.5 Hystrix默认配置 190
7.1.6 Hystrix配置详解 191
7.2 Hystrix工作流程 194
7.3 Hystrix监控 196
7.3.1 Spring Boot应用配置Hystrix仪表板 197
7.3.2 Turbine集群监控 200
7.4 Sentinel 204
7.4.1 Sentinel简介 204
7.4.2 限流算法 204
7.4.3 Sentinel项目结构 206
7.4.4 Sentinel与Hystrix的区别 207
7.4.5 Sentinel控制台 207
7.4.6 客户端接入控制台 209
7.4.7 Sentinel微服务限流 210
第8章 Spring Cloud Bus消息总线 214
8.1 Kafka实现消息总线 214
8.1.1 Kafka概述 214
8.1.2 Kafka安装 217
8.1.3 Docker安装ZooKeeper和Kafka 219
8.2 Stream简介 219
8.2.1 核心概念 219
8.2.2 Stream应用编程模型 220
8.2.3 Binder抽象 220
8.2.4 发布—订阅 221
8.2.5 消费组 221
8.2.6 分区支持 221
8.2.7 健康指标 221
8.3 Spring Cloud Stream实战 222
8.3.1 Stream快速入门 222
8.3.2 生产者的另一种实现 227
8.3.3 生产和消费消息 229
8.4 Bus简介 232
8.4.1 Bus消息总线 232
8.4.2 Spring事件机制 232
8.4.3 Spring Cloud Bus实战 235
8.4.4 Spring Cloud Bus原理 239
8.4.5 Spring Cloud Bus端点 240
8.4.6 Bus事件追踪 240
第9章 Spring Cloud Alibaba Seata分布式事务 243
9.1 Seata基础知识 243
9.1.1 Seata简介 243
9.1.2 Seata部署 244
9.1.3 Seata原理与设计 246
9.2 Seata使用 247
9.2.1 数据库准备 247
9.2.2 创建微服务 248
第10章 Spring Cloud Sleuth服务链路追踪 257
10.1 Spring Cloud Sleuth简介 257
10.2 Zipkin简介 259
10.3 Spring Cloud Sleuth整合Zipkin 261
10.3.1 整合Zipkin 261
10.3.2 MySQL存储链路数据 265
10.3.3 Sleuth抽样采集 267
10.3.4 Trace和Span 268
10.4 Spring Cloud Sleuth整合ELK 271
10.5 Sleuth原理浅析 275
10.5.1 TraceId传递 275
10.5.2 spring.factories配置文件 276
10.5.3 TraceEnvironmentPostProcessor处理日志 278
10.5.4 TraceAutoConfiguration 279
10.5.5 TracingFilter过滤器 280
10.5.6 TraceWebClientAutoConfiguration 283
第11章 Spring Cloud Commons 286
11.1 Spring Cloud Commons简介 286
11.2 Spring Cloud Context功能 286
11.2.1 bootstrap应用程序上下文 286
11.2.2 修改bootstrap.properties位置 287
11.2.3 覆盖远程属性的值 287
11.2.4 自定义bootstrap配置 287
11.2.5 刷新范围 288
11.2.6 加密与解密 288
11.2.7 Endpoints端点 288
11.3 Spring Cloud Commons功能 289
11.3.1 @EnableDiscoveryClient注解 289
11.3.2 服务注册ServiceRegistry 290
11.3.3 多个RestTemplate实例 290
11.3.4 多个WebClient实例 291
11.3.5 忽略网卡 293
11.3.6 HTTP客户端工厂 293
11.3.7 启用功能特性 294
11.3.8 Spring Cloud兼容性验证 295
11.4 Spring Cloud LoadBalancer 295
11.4.1 LoadBalancer简介 295
11.4.2 Spring Cloud LoadBalancer缓存 296
11.4.3 Spring Cloud LoadBalancer Starter 296
11.4.4 自定义Spring Cloud LoadBalancer配置 297
11.5 Spring Cloud Circuit Breaker 297
11.5.1 Circuit Breaker介绍 297
11.5.2 核心概念 298
11.5.3 配置断路器 299
11.6 具备缓存功能随机数 300
第12章 Spring Cloud OAuth 2.0保护API安全 301
12.1 使用OAuth 2.0进行授权 301
12.1.1 OAuth 2.0简介 301
12.1.2 OAuth 2.0协议流程 302
12.1.3 认证与授权 302
12.1.4 OAuth 2.0的授权方式 303
12.1.5 Spring Cloud Security OAuth 2.0认证流程 305
12.2 搭建OAuth 2.0服务 306
12.2.1 快速搭建OAuth 2.0服务 306
12.2.2 授权码模式实现 308
12.3 JWT简介 313
12.3.1 JWT的结构 313
12.3.2 JWT的应用 315
12.3.3 Spring Security+OAuth 2.0+JWT应用 315
第13章 Spring Cloud组件容器化 336
13.1 Spring Boot项目容器化 336
13.1.1 制作镜像 336
13.1.2 使用Dockerfile构建镜像 338
13.1.3 Spring Boot集成Docker 341
13.2 Spring Cloud Alibaba组件容器化 345
13.2.1 Nacos Docker 345
13.2.2 Sentinel Docker 346
13.2.3 Seata Docker 346
第14章 使用Spring Cloud构建微服务综合案例 348
14.1 案例介绍 348
14.2 技术选型 348
14.2.1 Spring Boot构建微服务 348
14.2.2 Nacos注册/配置中心 350
14.2.3 Spring Cloud Gateway网关 352
14.2.4 OpenFeign服务调用 355
14.2.5 Ribbon负载均衡 355
14.2.6 Sentinel熔断/降级/限流 356
14.2.7 ELK+FileBeat日志系统 357
14.2.8 Promethous+Grafana+InfluxDB监控系统 359
14.2.9 SkyWalking链路追踪系统 363
14.3 总结 365
参考文献 366