在传统的软件架构中,我们通常采用的是单体应用来构建一个系统,一个单体应用糅合了各种业务模块。起初在业务规模不是很大的情况下,对于单体应用的开发维护也相对容易。但随着企业的发展,业务规模与日递增,单体应用变得愈发臃肿。由于单体应用将各种业务模块聚合在一起,并且部署在一个进程内,所以通常我们对其中一个业务模块的修改也必须将整个应用重新打包上线。为了解决单体应用变得庞大脯肿之后产生的难以维护的问题,微服务架构便出现在了大家的视线里。
Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构所需的各种组件。
注:Spring Boot 简单理解就是简化 Spring 项目的搭建、配置、组合的框架。因为与构建微服务本身没有直接关系,所以本文不对 Spring Boot 进行展开。另外本文有一些例子涉及到 Spring 和 Spring Boot,建议先了解一下 Spring 和 Spring Boot 再阅读本文。本文的阅读对象主要是没有接触过服务架构,想对其有一个宏观的了解的同学。
Spring Cloud作为当下主流的微服务框架,可以让我们更简单快捷地实现微服务架构。
Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
在阿里巴巴内部论坛,很多同事都会谈论Spring Cloud,分享自己的使用心得。我和几位同事一起汇总整理了这份《阿里巴巴Spring Cloud教程》,经过了多次修改和完善,希望可以对你有所帮助!
如果帮助到你或者对你有所启发的话希望可以双击点赞哈!
给大家展示一下这份教程的目录:
1、初识Spring Cloud与微服务
- 什么是微服务
- 什么是Spring Cloud
微服务 (Microservices) 是一种软件架构风格,起源于Peter Rodgers博士于 2005 年度云端运算博览会提出的微 Web 服务 (Micro-Web-Service) 。微服务主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进行通信协作。
2. Spring Cloud Eureka服务治理
- 搭建Eureka-Server服务注册中心
- 搭建Eureka-Client服务提供者
- Eureka-Server集群
- 搭建Server-Consumer服务消费者
- Eureka-Server添加认证
- Eureka配置
3. Spring Cloud Ribbon客户端负载均衡
- Ribbon简介
- RestTemplate详解
- 发送Get请求
- 发送POST请求
- 发送PUT请求
- 发送DELETE请求
- RestTemplates实战
- Spring Cloud Ribbon配置
4. Spring Cloud Hystrix服务容错
- 使用Hystrix
- @HystrixCommand详解
- 服务降级
- 异常处理
- 命名与分组
- Hystrix缓存
- 请求合并
- Hystrix属性
- Commond
- collapser
- threadPool
5. Spring Cloud Hystrix Dashboard仪表盘
- 监控单个Hystrix实例
- Turbine集群监控
- 使用消息中间件
6. Spring Cloud Feign 声明式服务调用
- 搭建Feign Consumer
- Ribbon相关配置
- Hystrix相关配置
- 其余Feign配置
- 请求压缩
- 日志配置
7. Spring Cloud Zuul服务网关
- Spring Cloud Zuul入门
- 路由配置
- 传统配置
- 基于服务名称配置
- 默认路由配置规则
- 优先级
- 前缀配置
- 本地跳转
- 头部过滤 & 重定向
- 过滤器
- 核心过滤器
- 自定义Zuul过滤器
8. Spring Cloud Config统一配置管理
- 搭建Config-Server
- 搭建Config-Client
- Config-Server额外配置
- 占位符的使用
- 子目录支持
- clone-on-start
- 整合Spring Security
- 加密解密
- Config-Client额外配置
- 刷新配置
- 集群配置
9. 使用Spring Cloud Bus刷新配置
- 引入Spring Cloud Bus
- WebHooks
10. 使用Spring Cloud Sleuth跟踪微服务
- 准备工作
- 创建Server-Provider1
- 创建Server-Provider2
- 测试Spring Cloud Sleuth
- 集成Zipkin
- 搭建Zipkin-Server
- 微服务引入Zipkin
- 测试
- 数据存储
- Zipkin API
11. Spring Cloud Consul服务治理
- 安装Consul
- Server-Provider
- Server-Consumer
- consul集群
12. Spring Cloud Alibaba Nacos注册中心
- Nacos安装
- 框架搭建
- Nacos作为注册中心
- 测试负载均衡
- Nacos注册中心配置
Nacos是一款集服务注册发现、服务配置和管理于一身的开源软件,这节主要记录Nacos的服务注册发现功能的使用。借助Spring Cloud Alibaba Nacos Discovery,我们可以轻松地使用Spring Cloud编程模型体验Nacos的服务注册发现功能。本节使用的Spring Cloud版本为Hoxton.SR3,Spring Cloud Alibaba版本为2.2.0.RELEASE,Spring Boot版本为2.2.3.RELEASE。
13. Spring Cloud Alibaba Nacos配置中心
- 框架搭建
- 基本使用
- 获取配置规则
- 配置划分实战
- 配置回滚
- 获取多个配置
- 多配置共享
- 常用配置
14.Spring Cloud Alibaba Sentinel控制台详解
- 安装控制台
- 搭建客户端
- 流控规则
- QPS直接失败
- 线程数直接失败
- 关联
- 链路
- 预热Warm Up
- 排队等待
- 降级规则
- RT
- 异常比例
- 异常数
- 热点规则
- 系统规则
- 授权规则
15. Spring Cloud Alibaba Sentinel@SentinelResource
- 框架搭建
- 基本用法
- 其他属性
如果帮助到你或者对你有所启发的话希望可以双击点赞哈!