Spring Boot+Spring Cloud+Spring Cloud Alibaba微服务训练营 版权信息
- ISBN:9787302582236
- 条形码:9787302582236 ; 978-7-302-58223-6
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>>
Spring Boot+Spring Cloud+Spring Cloud Alibaba微服务训练营 本书特色
本书以Spring Boot、Spring Cloud、Spring Cloud alibab构建分布式微服务项目为主题,详尽地介绍了核心技术、常用组件、生产级特性,并提供了丰富的操作案例,主要内容如下: 环境准备,包括安装JDK、IntelliJ IDEA、Maven、Docker等。 Spring Boot核心功能和生产级特性、Spring Boot原理解析、SpringApplication执行流程以及自定义starter组件。 Spring Cloud的功能特性、模块以及版本信息,Spring Cloud和Spring Boot之间的关系,Spring Cloud alibab的主要功能及其相关组件,Netflix、Spring Cloud以及Spring Cloud alibab之间的关系。 Spring Cloud alibab的服务注册和配置中心组件Nacos、Nacos单机模式/集群模式以及Nacos+Nginx集群模式搭建,Spring Boot如何注册到Nacos以及如何将配置文件抽到Nacos配置中心、通过Eureka搭建注册中心集群、Spring Cloud Consul安装与启动、Spring Cloud Config的原理。 快速搭建Zuul网关、Zuul网关路由配置/过滤器/管理端点,Gateway路由断言工厂、全局过滤器、跨域、HTTP超时配置、TLS/SSL配置、Gateway底层原理、Gateway和Zuul网关的区别。 Ribbon负载均衡器、常用负载均衡算法、自定义负载均衡算法、自定义Ribbon客户端、利用Eureka/Nacos整合Ribbon客户端。 Spring Cloud OpenFeign声明式调用,包括@FeignClient注解详解、Feign @QueryMap支持、Feign请求响应压缩、Feign日志配置、Feign自定义错误、Feign拦截器以及自定义Feign客户端。 熔断、限流以及降级相关组件,包括Hystrix请求缓存和请求合并、Spring Boot应用配置Hystrix仪表盘、Turbine集群监控、阿里Sentinel组件、常用的限流算法、Sentinel与Hystrix的区别、Sentinel限流和熔断降级。 Spring Cloud Bus消息总线、Spring事件机制、Spring Cloud Bus原理、如何使用Kafka实现消息总线、Spring Cloud Stream的核心概念、Stream应用编程模型/Binder抽象、StreamStream原理。 Spring Cloud alibab Seata分布式事务组件,包括Seata部署、原理与设计,以及如何解决分布式事务问题。 Spring Cloud Sleuth服务链路追踪,包括Zipkin的安装与快速启动、Spring Cloud Sleuth整合Zipkin、Spring Cloud Sleuth整合ELK、Sleuth原理浅析。 Spring Cloud Commons公共包、Spring Cloud Context的功能、Spring Cloud Commons的功能、Spring Cloud LoadBalance负载均衡、Spring Cloud Circuit Breaker断路器和核心概念。 OAuth 2.0核心概念、协议流程、授权方式,快速搭建OAuth 2.0服务、授权码模式实现、JWT结构和应用,Spring Security+ OAuth 2.0 + JWT开发案例。 Spring Boot项目容器化、Spring Cloud alibab组件容器化。 使用Spring Cloud、Spring Cloud alibab及开源技术框架一步一步搭建分布式微服务架构和服务治理平台。
Spring Boot+Spring Cloud+Spring Cloud Alibaba微服务训练营 内容简介
本书以分布式微服务项目需求为主线,系统地介绍了Spring Boot、Spring Cloud、Spring Cloud Alibaba的生产级特性、重要组件及核心技术,包括服务治理、服务注册与发现、负载均衡等分布式框架所需要的各种功能。本书共分为14章。章主要讲解Spring Boot的重要功能特性以及阅读本书之前需要准备的环境。第2章主要介绍Spring Cloud和Spring Cloud Alibaba模块、版本以及之间的关系。第3章主要介绍注册中心和配置中心Nacos以及其他开源的组件。第4章主要讲解微服务网关Spring Cloud Gateway和Zuul。第5、6章主要讲解负载均衡组件Ribbon和微服务调用组件OpenFeign。第7章主要讲解服务限流、降级、容错以及熔断等技术,包括Hystrix组件和Sentinel组件。第8、9章主要介绍Spring Cloud Bus消息总线、分布式事务解决方案Seata。0、11章主要讲解链路追踪组件Spring Cloud Sleuth和Zipkin,以及Spring Cloud Commons基础包。2章主要讲解如何通过OAuth 2.0进行授权。3章主要讲解微服务和组件容器化。4章主要介绍分布式微服务架构的具体案例。
本书技术优选,贴近实践,讲练结合,适合具有Java基础或1~2年开发经验的读者使用,也可作为网课、培训机构和大专院校的教学用书。
Spring Boot+Spring Cloud+Spring Cloud Alibaba微服务训练营 目录
目 录
第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
展开全部
Spring Boot+Spring Cloud+Spring Cloud Alibaba微服务训练营 作者简介
黄文毅,Java架构师,从业8年,CSDN博客专家,曾先后就职于厦门星耀蓝图、上海美团、厦门美图等科技公司,目前就职于厦门海西医药,主要从事后端开发工作,对分布式技术与微服务架构,具有深刻理解与丰富的实践经验。已出版《一步一步学Spring Boot微服务项目实战》(清华大学出版社,2019年)、《微服务架构原理与实践》(清华大学出版社,2019年)等图书。