微服务
关于微服务,相关的博文有太多太多了,它的概念我就这里就不再多说了我们先来聊一聊它的优点与正在面临的挑战,以及为什么选择Spring Cloud来构建微服务的原因。
微服务架构的优点
- 易于开发和维护
- 单个微服务启动较快
- 局部修改容易部署
- 技术栈不受限
- 按需伸缩
微服务架构面临的挑战
- 运维要求高
- 分布式固有的复杂性
- 接口调整成本高
- 重复劳动
为什么选择Spring Cloud?
近几年很多人对于微服务架构的热情非常高,Spring Cloud的出现,可以说是对微服务架构的巨大支持和强有力的技术后盾。它不只是解决微服务中的某一一个问题,而是一个解决微服 务架构实施的综合性解决框架,它整合了诸多被广泛实践和证明过的框架作为实施的基础部件,又在该体系基础上创建了一些非常优秀的边缘组件。下面要介绍的这一份阿里内部手册就是从微服务架构概念出发,结合Spring Cloud的解决方案,深入浅出地剖析了其在构建微服务架构中所需的各个基础设施和技术要点,非常适合正在或打算实施微服务的团队作为参考手册。
为了不影响大家阅读体验我把获取方式放在了文末!!!
手册涵盖微服务构建、服务治理、客户端负载均衡、服务容错保护、声明式服务调用、API网关服务、分布式配置中心、消息总线、消息驱动、分布式服务跟踪等诸多技术栈。下面是它的主要内容:
Spring Cloud微服务实战
1.基础知识
- 什么是微服务架构
- 与单体系统的区别
- 如何实施微服务
- 为什么选择Spring Cloud
- Spring Cloud简介
2.微服务构建: Spring Boot
- 框架简介
- 快速入门
- 项目构建与解析
- 实现RESTfulAPI
- 配置详解
- 配置文件
- 自定义参数
- 参数引用
- 使用随机数
- 命令行参数
- 多环境配置
- 加载顺序
- 监控与管理
- 初识actuator
- 原生端点
3.服务治理: Spring Cloud Eureka
- 服务治理
- Netflix Eureka
- 搭建服务注册中心
- 注册服务提供者
- 高可用注册中心
- 服务发现与消费
- Eureka详解
- 基础架构
- 服务治理机制
- 源码分析
- 配置详解
- 服务注册送配置
- 服务实例类配置
- 跨平台支持
4.客户端负载均衡: Spring Cloud Ribbon
- 客户端负载均衡
- RestTemplate详解
- GET请求
- POST请求
- PUT请求
- DELETE请求
- 源码分析
- 负载均衡器
- 负裁均衡策略
- 配置详解
- 自动化配置
- Camden版本对RibbonClient配置的优化
5.服务容错保护: Spring Cloud Hystrix
- 快速入门
- 原理分析
- 工作流程
- 断路器原理
- 依赖隔离
- 使用详解
- 创建请求命令
- 定义服务降级
- 异常处理
- 命令名称、分组以及线程池划分
- 请求缓存
- 请求合并
- 属性详解
- Command属性
- collapser属性
- threadPool属性
- Hystrix仪表盘
- Turbine集群监控
- 构建监控聚合服务
- 与消息代理结合
6.声明式服务调用: Spring Cloud Feign
- 快速入门
- 参数绑定
- 继承:特性
- Ribbon配置
- 全局配置
- 指定服务配置
- 重试机制
- Hystrix配置
- 全局配置
- 禁用Hystrix
- 指定命令配置
- 服务降级配置
- 其他配置
7.API网关服务: Spring Cloud Zuul
- 快速入门
- 构建网关
- 请求路由
- 请求过滤
- 路由详解
- 传统路由配置
- 服务路由配置
- 服务路由的默认规则
- 自定义路由映射规则
- 路径匹配
- 路由前缀
- 本地跳转
- Cookie与头信息
- Hystrix和Ribbon支持
- 过滤器详解
- 过滤器
- 请求生命周期
- 核心过滤器
- 异常处理
- 禁用过滤器
- 动态加载
- 动态路由
- 动态过滤器
8.分布式配置中心: Spring Cloud Config
- 快速入门
- 构建配置中心
- 配置规则详解
- 客户端配置映射
- 服务端详解
- 基础架构
- Git配置仓库
- SVN配置仓库
- 本地合库
- 本地文件系统
- 健康监测
- 属性覆盖
- 安全保护
- 加密解密
- 高可用配置
- 客户端详解
- URI指定配置中心
- 服务化配置中心
- 失败快速响应与重试
- 获取远程配置
- 动态刷新配置
9.消息总线: Spring Cloud Bus
- 消息代理
- RabbitMQ实现消息总线
- 基本概念
- 安装与使用
- 快速入门
- 整合Spring Cloud Bus
- 原理分析
- 指定刷新范围
- 架构优化
- RabbitMQ配置
- Kafka实现消息总线
- Kafka简介
- 快速入门
- 整合Spring Cloud Bus
- Kafka配置
- 深入理解
- 源码分析
- 其他消息代理的支持
10.消息驱动的微服务: Spring Cloud Stream
- 快速入门
- 核心概念
- 绑定器
- 发布-订阅模式
- 消费组
- 消息分区
- 使用详解
- 开启绑定功能
- 绑定消息通道
- 消息生产与消费
- 响应式编程
- 消费组与消息分区
- 消息类型
- 绑定器详解
- 绑定器SPI
- 自动化配置
- 多绑定器配置
- RabbitMQ与Kafka绑定器
- 配置详解
- 基础配置
- 绑定通道配置
- 绑定器配置
11.分布式服务跟踪: Spring Cloud Sleuth
- 快速入门
- 准备工作
- 实现跟踪
- 跟踪原理
- 抽样收集
- 与Logstash整合
- 与Zipkin整合
- HTTP收集
- 消息中间件收集
- 收集原理
- 数据存储
- API接口
写在最后
Spring Cloud也许对很多已经实施微服务并自成体系的团队不具备足够的吸引力,但是对于还未实施微服务或是未成体系的团队,这必将是一个非常有吸引力的框架选择。不论其项目的发展目标,还是Spring的强大背景,亦或其极高的社区活跃度,都是未来企业架构师必须了解和接触的重要框架,有一天成 为微服务架构的标准解决方案也并非不可能。
如果你对这份SpringCloud实战手册感兴趣,帮忙点赞关注我支持一下然后添加小助理vx即可免费获取