在传统的软件架构中,我们通常采用的是单体应用来构建一个系统,一个单体应用糅合了各种业务模块。起初在业务规模不是很大的情况下,对于单体应用的开发维护也相对容易。但随着企业的发展,业务规模与日递增,单体应用变得愈发臃肿。由于单体应用将各种业务模块聚合在一起,并且部署在一个进程内,所以通常我们对其中一个业务模块的修改也必须将整个应用重新打包上线。为了解决单体应用变得庞大脯肿之后产生的难以维护的问题,微服务架构便出现在了大家的视线里。
Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构所需的各种组件。
注:Spring Boot 简单理解就是简化 Spring 项目的搭建、配置、组合的框架。因为与构建微服务本身没有直接关系,所以本文不对 Spring Boot 进行展开。另外本文有一些例子涉及到 Spring 和 Spring Boot,建议先了解一下 Spring 和 Spring Boot 再阅读本文。本文的阅读对象主要是没有接触过服务架构,想对其有一个宏观的了解的同学。
Spring Cloud作为当下主流的微服务框架,可以让我们更简单快捷地实现微服务架构。
Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
我和几位同事一起整理了这份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
框架搭建
基本用法
其他属性
如果帮助到你或者对你有所启发的话希望可以双击点赞哈!有需要这份学习笔记的也可以在评论区领取。