Spring Boot+Spring Cloud+Spring Cloud Alibaba微服务训练营

副标题:无

作   者:黄文毅

分类号:

ISBN:9787302582236

微信扫一扫,移动浏览光盘

简介

本书以分布式微服务项目需求为主线,系统地介绍了Spring Boot、Spring Cloud、Spring Cloud Alibaba的生产级特性、重要组件及核心技术,包括服务治理、服务注册与发现、负载均衡等分布式框架所需要的各种功能。本书共分为14章。第1章主要讲解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。第10、11章主要讲解链路追踪组件Spring Cloud Sleuth和Zipkin,以及Spring Cloud Commons基础包。第12章主要讲解如何通过OAuth 2.0进行授权。第13章主要讲解微服务和组件容器化。第14章主要介绍分布式微服务架构的具体案例。 本书技术先进,贴近实践,讲练结合,适合具有Java基础或1~2年开发经验的读者使用,也可作为网课、培训机构和大专院校的教学用书。

目录


第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微服务训练营
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon