Sentinel 分布式流量防卫兵——简单入门

文档

introduction

官网下载地址

Release v1.8.3 · alibaba/Sentinel

官网WIKI

Sentinel · alibaba/spring-cloud-alibaba Wiki

启动Sentinel

  • 基本启动
    • java -jar sentinel-dashboard-1.8.3.jar
      • 默认端口是8080
    • java -Dserver.port=xxx -jar sentinel-dashboard-1.8.3.jar
      • 自定义端口号等参数,启动
    • http://localhost:8080/#/login
  • 用户名和密码都是 sentinel

服务集成

  • pom.xml
<!--Sentinel起步依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
  • application.yml
server:
port: 8005
spring:
application:
name: 006-nacos-consumer
cloud:
nacos:
discovery:
server-addr: localhost:8848/
sentinel:
transport:
# Sentinel管理控制台的地址
dashboard: localhost:8080
# 微服务与Sentinel的通信端口
port: 8179
management:
endpoints:
web:
exposure:
include: '*'

在这里插入图片描述

Sentinel默认是懒加载的,所以我们先发送一个请求,才可以在管理控制台上,查看到我们监控的微服务
并且,所有的数据都是基于内存加载的,当服务器重启后,所有的流控规则和熔断规则,需要重新设置

流控规则

在这里插入图片描述
在这里插入图片描述

1.资源名称

  • 资源名称默认为路径名称,如果通过注解进行定义资源名称,可以直接使用

2.阈值类型

QPS
每秒钟的请求响应的数量
在这里插入图片描述

如上所示,当每秒钟请求的数量超过1个时,就会抛出限流异常

并发线程数
当前的请求,只有一个线程进行处理所有的请求,如果超出一个线程所执行的工作量,就会抛出限流异常
在这里插入图片描述

测试时,建议使用一些能发送高并发请求的工具,才能看到效果

3.单机阈值

上限值,配合阈值类型

4.流控模式

直接
直接对该资源名进行流控监视
关联
当通过资源名称和关联名称进行操作时,关联名称触发了限流规则,资源名称无法访问
在这里插入图片描述

5.流控效果

快速失败
触发熔断,直接失败,抛出降级异常、流控异常
Warm Up
冷启动,避免当系统长期处于低水位的情况下,如果此时流量激增,很可能将整个系统拖垮
在冷启动规定的预热时间时间内,此时的触发的阈值只有原来阈值的三分之一,当冷启动的时间过去后,才会恢复原来的阈值,有一个预热过程
在这里插入图片描述
排队等待
让请求匀速的执行
出现限流异常
在这里插入图片描述

熔断规则

在这里插入图片描述
在这里插入图片描述

1.熔断策略

慢调用比例
当请求响应的时间,超过了设置的RT 平均响应时间 时,就会被认为是慢调用,满足规则时则会熔断降级方法
在这里插入图片描述
异常比例
按照出现异常的比例,进行服务的熔断
异常数
按照出现的异常数量,进行服务的熔断

2.最大RT

最大的响应时间,超过则为慢调用,只有慢调用比例才会使用该值进行设置

3.比例阈值

设置 0.0 ~ 1.0 的区间值,代表 0% ~ 100%

4.熔断时长

熔断降级的时间,可以理解为断路持续时间

5.最小请求数

至少发送多少次请求,才可以被记录统计

6.统计时长

当前的规则计时的时间

posted @   Acegzx  阅读(9)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示