SpringCloud Alibaba笔记之Sentinel

目录

Sentinel简单介绍

是什么?

去哪下?

能干吗?

怎么玩?

安装Sentinel控制台

sentinel组件由两部分构成

安装步骤

初始化演示工程

新建module步骤

流控规则

基本介绍

流控模式

流控效果

降级规则

基本介绍

降级策略实战

热点key限流

系统规则

@SentinelResource

按资源名称限流+后续处理

按照url地址+后续处理

上面兜底方案面临的问题

客户自定义限流处理逻辑

服务熔断功能

规则持久化


Sentinel简单介绍

是什么?

Hystrix的阿里版

SpringCloud Alibaba笔记之Sentinel_第1张图片

可以用在以下几个地方

SpringCloud Alibaba笔记之Sentinel_第2张图片

SpringCloud Alibaba笔记之Sentinel_第3张图片

Hystrix与Sentinel的对比

SpringCloud Alibaba笔记之Sentinel_第4张图片

最大的优点就是它功能强大且可以直接在web界面设置很多事情

去哪下?

https://github.com/alibaba/Sentinel/releases

能干吗?

细说可以干绿色这部分的事情

SpringCloud Alibaba笔记之Sentinel_第5张图片

粗说可以做以下四部分的事情

SpringCloud Alibaba笔记之Sentinel_第6张图片

怎么玩?

安装Sentinel控制台

sentinel组件由两部分构成

后台和前台8080

SpringCloud Alibaba笔记之Sentinel_第7张图片

安装步骤

SpringCloud Alibaba笔记之Sentinel_第8张图片

如何访问sentinel管理界面?

直接访问本地的8080端口,密码和账号都是sentinel

初始化演示工程

SpringCloud Alibaba笔记之Sentinel_第9张图片

新建module步骤

1.新建项目cloudalibaba-sentinel-service8401

2.改pom

新加三个依赖

SpringCloud Alibaba笔记之Sentinel_第10张图片

3.改yml文件

SpringCloud Alibaba笔记之Sentinel_第11张图片

4.写启动类

SpringCloud Alibaba笔记之Sentinel_第12张图片

5.写业务类测试

SpringCloud Alibaba笔记之Sentinel_第13张图片

6.测试

sentinel采用的是懒加载模式,需要执行一次行为才会加载出来

SpringCloud Alibaba笔记之Sentinel_第14张图片

流控规则

基本介绍

SpringCloud Alibaba笔记之Sentinel_第15张图片

SpringCloud Alibaba笔记之Sentinel_第16张图片

SpringCloud Alibaba笔记之Sentinel_第17张图片

流控模式

直接(默认)

SpringCloud Alibaba笔记之Sentinel_第18张图片

配置

SpringCloud Alibaba笔记之Sentinel_第19张图片

关联

SpringCloud Alibaba笔记之Sentinel_第20张图片

比如支付模块,B接口是支付模块,A接口是下单模块,B接口达到阈值了,那么就限流A接口,意思就是当我支付接口扛不住了,那就限流下单接口。意味着削峰了。

SpringCloud Alibaba笔记之Sentinel_第21张图片

链路

流控效果

直接->快速失败(默认的流控处理)

SpringCloud Alibaba笔记之Sentinel_第22张图片

预热

SpringCloud Alibaba笔记之Sentinel_第23张图片

官网介绍:

SpringCloud Alibaba笔记之Sentinel_第24张图片

排队等待

SpringCloud Alibaba笔记之Sentinel_第25张图片

SpringCloud Alibaba笔记之Sentinel_第26张图片

降级规则

基本介绍

SpringCloud Alibaba笔记之Sentinel_第27张图片

SpringCloud Alibaba笔记之Sentinel_第28张图片

进一步说明:

SpringCloud Alibaba笔记之Sentinel_第29张图片

sentinel没用半开的状态,系统会自动去检测请求是否恢复正常

SpringCloud Alibaba笔记之Sentinel_第30张图片

降级策略实战

RT

SpringCloud Alibaba笔记之Sentinel_第31张图片

SpringCloud Alibaba笔记之Sentinel_第32张图片

测试接口如下:

SpringCloud Alibaba笔记之Sentinel_第33张图片

结论

SpringCloud Alibaba笔记之Sentinel_第34张图片

异常比例 

.SpringCloud Alibaba笔记之Sentinel_第35张图片

异常数

SpringCloud Alibaba笔记之Sentinel_第36张图片

SpringCloud Alibaba笔记之Sentinel_第37张图片

异常数是按照分钟统计的

热点key限流

SpringCloud Alibaba笔记之Sentinel_第38张图片

基本介绍

SpringCloud Alibaba笔记之Sentinel_第39张图片

SpringCloud Alibaba笔记之Sentinel_第40张图片

我们只对p1参数做限流

SpringCloud Alibaba笔记之Sentinel_第41张图片

参数例外项(当p1是某个特殊值的时候就不被限流)

SpringCloud Alibaba笔记之Sentinel_第42张图片

系统规则

是什么?

对整个系统的流量进行控制,有5个限流方法

SpringCloud Alibaba笔记之Sentinel_第43张图片

SpringCloud Alibaba笔记之Sentinel_第44张图片

SpringCloud Alibaba笔记之Sentinel_第45张图片

@SentinelResource

按资源名称限流+后续处理

SpringCloud Alibaba笔记之Sentinel_第46张图片

SpringCloud Alibaba笔记之Sentinel_第47张图片

按照url地址+后续处理

SpringCloud Alibaba笔记之Sentinel_第48张图片

上面兜底方案面临的问题

SpringCloud Alibaba笔记之Sentinel_第49张图片

客户自定义限流处理逻辑

SpringCloud Alibaba笔记之Sentinel_第50张图片

新建限流类

SpringCloud Alibaba笔记之Sentinel_第51张图片

如何用

SpringCloud Alibaba笔记之Sentinel_第52张图片

服务熔断功能

SpringCloud Alibaba笔记之Sentinel_第53张图片

如果你没有配置服务熔断功能,那么如果代码出错了报错就会给客户体验感不好,所以我们要使用服务熔断功能。

规则持久化

一旦我们重启应用,sentinel规则将消失,生产环境需要将配置规则进行持久化!

配置持久化的步骤:

SpringCloud Alibaba笔记之Sentinel_第54张图片

添加pom文件依赖

SpringCloud Alibaba笔记之Sentinel_第55张图片

在yml文件添加配置

SpringCloud Alibaba笔记之Sentinel_第56张图片

在nacos中新增配置

SpringCloud Alibaba笔记之Sentinel_第57张图片

配置说明:

SpringCloud Alibaba笔记之Sentinel_第58张图片

你可能感兴趣的:(spring,cloud,笔记,sentinel)