Spring Cloud 微服务架构进阶
出版时间:2018
内容简介
本书全面系统地介绍Spring Cloud及其在微服务架构中的应用。全书共13章,第1章介绍微服务架构相关的基本概念;第2章介绍Spring Cloud中包含的组件以Spring Cloud约定的上下文;第3章介绍Spring Cloud的基础:Spring Boot,包括如何构建一个Spring Boot服务、Spring Boot的配置文件和Actuator提供的监控管理端点;第4至第13章详细讲解Spring Cloud组件,包括:Eureka(服务注册与发现)、OpenFeign(声明式Restful客户端)、Hystrix(断路器)、Ribbon(客户端负载均衡器)、Gateway(API网关)、Config(配置中心)、Stream(消息驱动)、Bus(消息总线)、Security(认证与授权)、Sleuth(服务链路追踪)。本书为读者揭开了Spring Cloud组件实现的技术内幕,并提供了进阶应用的思路,可以作为使用Spring Cloud进行微服务架构实践的参考书。
目录
第1章 微服务架构介绍
1.1 微服务的出现
1.1.1 单体应用
1.1.2 SOA架构
1.1.3 微服务架构
1.2 微服务架构的流派
1.2.1 ZeroC IceGrid
1.2.2 基于消息队列
1.2.3 Docker Swarm
1.2.4 Spring Cloud
1.3 云原生与微服务
1.3.1 云原生
1.3.2 The Twelve Factors
1.3.3 容器化
1.3.4 DevOps
1.3.5 面向微服务
1.4 本章小结
第2章 Spring Cloud介绍
2.1 Spring Cloud总览
2.1.1 版本说明
2.1.2 Spring Cloud组成
2.2 Spring Cloud特性
2.2.1 Spring Cloud 上下文
2.2.2 Spring Cloud Commons: 公共抽象
2.3 本章小结
第3章 Spring Cloud的基础:Spring Boot
3.1 Spring Boot简介
3.1.1 Spring Boot 2.0
3.1.2 Spring Boot与Spring Cloud
3.2 Spring Boot核心特性
3.3 构建一个微服务
3.3.1 IDEA生成
3.3.2 initial生成
3.4 Spring Boot 配置文件
3.4.1 默认配置文件
3.4.2 外部化配置
3.4.3 YAML
3.4.4 自动载入外部属性到Bean
3.4.5 多Profile
3.4.6 Starter
3.4.7 自制一个Starter
3.4.8 Actuator
3.5 本章小结
第4章 服务注册与发现:Eureka
4.1 基础应用
4.1.1 Eureka简介
4.1.2 搭建Eureka服务注册中心
4.1.3 搭建Eureka服务提供者
4.1.4 搭建Eureka服务调用者
4.1.5 Eureka服务注册和发现
4.1.6 Consul的简单应用
4.2 服务发现原理
4.2.1 核心架构图
4.3 Eureka Client源码解析
4.3.1 读取应用自身配置信息
4.3.2 服务发现客户端
4.3.3 拉取注册表信息
4.3.4 服务注册
4.3.5 初始化定时任务
4.3.6 服务下线
4.4 Eureka Server源码解析
4.4.1服务实例注册表
4.4.2 服务注册
4.4.3 接受服务心跳
4.4.4 服务剔除
4.4.5 服务下线
4.4.6 集群同步
4.4.7 获取注册表中服务实例信息
4.5 进阶应用
4.5.1 Eureka Instance和Client的元数据
4.5.2状态页和健康检查页端口设置
4.5.3 Region与Zone
4.5.4 高可用性服务注册中心
4.6 本章小结
第5章 声明式Restful网络客户端:Spring Cloud OpenFeign
5.1 基础应用
5.1.1 微服务之间的交互
5.1.2 OpenFeign简介
5.1.3 代码示例
5.2 源码分析
5.2.1 核心组件与概念
5.2.2 动态注册BeanDefinition
5.2.3 实例初始化
5.2.4 函数调用和网络请求
5.3进阶应用
5.3.1 Decoder与Encoder的自定制化
5.3.2 请求/响应压缩
5.4 本章小结
第6章 断路器:Hystrix
6.1 基础应用
6.1.1 RestTemplate与Hystrix
6.1.2 OpenFeign与Hystrix
6.2 Hystrix原理
6.2.1 服务雪崩
6.2.2 断路器
6.2.3 服务降级操作
6.2.4 资源隔离
6.2.5 Hystrix实现思路
6.3 源码解析
6.3.1 封装HystrixCommand
6.3.2 HystrixCommand类结构
6.3.3 异步回调执行命令
6.3.4 异步执行命令和同步执行命令
6.3.5 断路器逻辑
6.3.6 资源隔离
6.3.7 请求超时监控
6.3.8 失败回滚逻辑
6.4 进阶应用
6.4.1 异步与异步回调执行命令
6.4.2 继承HystrixCommand
6.4.3 请求合并
6.5 本章小结
第7章 客户端负载均衡器:Spring Cloud Netflix Ribbon
7.1 负载均衡
7.2 基础应用
7.3 源码分析
7.3.1 配置和实例初始化
7.3.2 与OpenFeign的集成
7.3.3 负载均衡器LoadBalancerClient
7.3.4 ILoadBalancer
7.3.5 负载均衡策略实现
7.4进阶应用
7.4.1 Ribbon API
7.4.2 使用Netty发送网络请求
7.4.3 只读数据库的负载均衡实现
7.5 本章小结
第8章 API网关:Spring Cloud Gateway
8.1 Spring Cloud Gateway介绍
8.2 基础应用
8.2.1 用户服务
8.2.2 网关服务
8.2.3 客户端的访问
8.3 源码解析
8.3.1 初始化配置
8.3.2 网关处理器
8.3.3 路由定义定位器
8.3.4 路由定位器
8.3.5 路由断言
8.3.6 网关过滤器
8.3.7 全局过滤器
8.3.8 API端点
8.4 应用进阶
8.4.1 限流机制
8.4.2 熔断降级
8.4.3 网关重试过滤器
8.5 本章小结
第9章 配置中心:Spring Cloud Config
9.1 基础应用
9.1.1 配置客户端
9.1.2 配置仓库
9.1.3 服务端
9.1.4 配置验证
9.1.5 配置动态更新
9.2 源码解析
9.2.1 配置服务器
9.2.2 配置客户端
9.3 应用进阶
9.3.1 为config Server配置多个repo
9.3.2 客户端覆写远端的配置属性
9.3.3 属性覆盖
9.3.4 安全保护
9.3.5 加密解密
9.3.6 快速响应失败与重试机制
9.4 本章小结
第10章 消息驱动:Spring Cloud Stream
10.1 消息队列
10.1.1 消息队列常用组件
10.2 基础应用
10.2.1 声明和绑定通道
10.2.2 自定义通道
10.2.3 接收消息
10.2.4 配置
10.3 源码分析
10.3.1 动态注册BeanDefinition
10.3.2 绑定服务
10.3.3 获取绑定器
10.3.4 绑定Producer
10.3.5 消息发送的流程
10.3.6 StreamListener注解的处理
10.3.7 绑定Consumer
10.3.8 消息的接收
10.4 进阶应用
10.4.1 Binder For RocketMQ
10.4.2 多实例
10.4.3 分区
10.5 本章小结
第11章 消息总线:Spring Cloud Bus
11.1 基础应用
11.1.1 配置服务器Config-Server
11.1.2 配置客户端Config-Client
11.1.3 结果验证
11.2 源码解析
11.2.1 事件的定义与事件监听器
11.2.2 消息的订阅与发布
11.2.3 控制端点
11.3 应用进阶
11.3.1 在自定义的包中注册事件
11.3.2 自定义监听器
11.3.3 事件的发起者
11.4 本章小结
第12章 认证与授权:Spring Cloud Security
12.1 基础应用
12.1.1 OAuth2 简介
12.1.2 JWT
12.1.3 搭建授权服务器
12.1.4 配置资源服务器
12.1.5 访问受限资源
12.2 整体架构
12.2.1 Spring Security架构概述
12.2.2 Spring Security OAuth2架构概述
12.2.3 Spring Cloud Security中的Security和OAuth2
12.3 源码解析
12.3.1 SecurityContext 安全上下文
12.3.2 Authentication 认证
12.3.3 Authorization 授权
12.3.4 Spring Security中的过滤器与拦截器
12.3.5授权服务器
12.3.6资源服务器
12.3.7 Token 中继机制
12.4 进阶应用
12.4.1 Spring Sercurity自定制化
12.4.2 OAuth2自定制化
12.4.3 SSO单点登录
12.5 本章小结
第13章 服务链路追踪:Spring Cloud Sleuth
13.1 链路监控组件介绍
13.1.1 常用的监控组件
13.1.2 基础概念
13.2 基础应用
13.2.1 特性
13.2.2 项目准备
13.2.3 Spring Cloud Sleuth独立实现
13.2.4 集成Zipkin
13.3 本章小结