一、前言
只有光头才能变强,越亮越强
Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确地说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。
Spring Cloud 是什么?
在学习本文之前,读者有必要先了解一下 Spring Cloud。
Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等。Spring Cloud 并不重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成本。换句话说:Spring Cloud 提供了构建分布式系统所需的“全家桶”。
Spring Cloud 现状
目前,国内使用 Spring Cloud 技术的公司并不多见,不是因为 Spring Cloud 不好,主要原因有以下几点:
- Spring Cloud 中文文档较少,出现问题网上没有太多的解决方案。
- 国内创业型公司技术老大大多是阿里系员工,而阿里系多采用 Dubbo 来构建微服务架构。
- 大型公司基本都有自己的分布式解决方案,而中小型公司的架构很多用不上微服务,所以没有采用 Spring Cloud 的必要性。
但是,微服务架构是一个趋势,而 Spring Cloud 是微服务解决方案的佼佼者。
本篇共分为四个部分
第一部分:(1-3章)基础知识、微服务构建SpringBoot、服务治理:SpringCloud Eureka
第二部分:(4-6章)客户端负载均衡:SpringCloud Ribbon、服务容错保护:SpringCloud Hystrix、声明式服务调用:SpringCloud Feign
第三部分:(7-10章)API网关:SpringCloud Zuul、分布式配置中心:SpringCloud Config、消息总线:SpringCloud Bus、消息驱动的微服务:SpringCloud Stream
第四部分:(11章)分布式服务跟踪:SpringCloud Sleuth
因为文章内容篇幅过长,只能展示大概内容
第一章:基础知识
什么是微服务架构
- 与单体系统的区别
- 如何实施微服务
为什么选择Spring Cloud ..
Spring Cloud简介
版本说明
第二章:微服务构建:SpringBoot
框架简介
快速入门
- 项目构建与解析
- 实现RESTful API
配置详解
- 配置文件
- 自定义参数
- 参数引用
- 使用随机数
- 命令行参数
- 多环境配置
- 加载顺序
监控与管理
- 初识actuator
- 原生端点
小结
第三章:服务治理:SpringCloud Eureka
服务治理
- Netflix Eure
- 搭建服务注册中心
- 注册服务提供者
- 高可用注册中心
- 服务发现与消费
Eureka详解
- 基础架构
- 服务治理机制
- 源码分析
配置详解
- 服务注册类配置
- 服务实例类配置
跨平台支持
第四章:客户端负载均衡:SpringCloud Ribbon
客户端负载均衡
RestTemplate详解
- GET请求
- POST请求.
- PUT请求
- DELETE请求
源码分析
- 负载均衡器
- 负载均衡策略
配置详解
- 自动化配置
- Camden版本对RibbonClient配置的优化
- 参数配置
- 与Eureka结合
重试机制
第五章:服务容错保护:SpringCloud Hystrix
快速入门
原理分析
- 工作流程
- 断路器原理
- 依赖隔离
使用详解
- 创建请求命令
- 定义服务降级
- 异常处理
- 命令名称、分组以及线程池划分
- 请求缓存
- 请求合并
属性详解
- Command属性
- collapser属性
- threadPool属性
Hystrix仪表盘
Turbine集群监控
- 构建监控聚合服务
-
与消息代理结合
第六章:声明式服务调用:SpringCloud Feign
快速入门
参数绑定
继承特性
Ribbon配置
- 全局配置
- 指定服务配置.
- 重试机制
Hystrix配置
- 全局配置
- 禁用Hystrix
- 指定命令配置
- 服务降级配置
其他配置
- 请求压缩
-
日志配置
第七章:API网关:SpringCloud Zuul
快速入门
- 构建网关
- 请求路由
- 请求过滤
路由详解
- 传统路由配置
- 服务路由配置
- 服务路由的默认规则
- 自定义路由映射规则
- 路径匹配.
- 路由前缀
- 本地跳转
- Cookie与头信息
- Hystrix和Ribbon支持
过滤器详解
- 过滤器
- 请求生命周期
- 核心过滤器.
- 异常处理
- 禁用过滤器
动态加载
- 动态路由
- 动态过滤器
第八章:分布式配置中心:SpringCloud Config
快速入门
- 构建配置中心
- 配置规则详解
- 客户端配置映射
服务端详解
- 基础架构
- Git配置仓库
- SVN配置仓库
- 本地仓库
- 本地文件系统
- 健康监测
- 属性覆盖
- 安全保护
- 加密解密
- 高可用配置
客户端详解
- URI指定配置中心
- 服务化配置中心
- 失败快速响应与重试
- 获取远程配置
-
动态刷新配置
第九章:消息总线:SpringCloud Bus
消息代理
RabbitMQ实现消息总线
- 基本概念
- 安装与使用
- 快速入门
- 整合Spring Cloud Bus..
- 原理分析
- 指定刷新范围
- 架构优化
- RabbitMQ配置
Kafka实现消息总线
- Kafka简介
- 快速入门
- 整合Spring Cloud Bus..
- Kafka配置
深入理解
- 源码分析
-
其他消息代理的支持
第十章:消息驱动的微服务:SpringCloud Stream
快速入门
核心概念
- 绑定器
- 发布_订阅模式
- 消费组
- 消息分区
使用详解
- 开启绑定功能
- 绑定消息通道
- 消息生产与消费
- 响应式编程.
- 消费组与消息分区
- 消息类型
绑定器详解
- 绑定器SPI
- 自动化配置
- 多绑定器配置
- RabbitMQ与Kafka绑定器
配置详解
- 基础配置
- 绑定通道配置
-
绑定器配置
第十一章:分布式服务跟踪:SpringCloud Sleuth
快速入门
- 准备工作
- 实现跟踪
跟踪原理
抽样收集
与Logstash整合.
与Zipkin整合.
- HTTP收集
- 消息中间件收集
- 收集原理
- 数据存储
- API接口
-
附录A Starter POMs