Sentinel的常用配置详解-阿里云开发者社区

开发者社区> 小鲍侃java> 正文

Sentinel的常用配置详解

简介: Sentinel的常用配置详解
+关注继续查看


image.png

1.流控

1.快速使用

在接口上点击流控,设置单机阈值(每秒钟的并发量),针对来源不用修改。

image.png

使用postman测试,当多次点击后会报错。

image.png

2.配置详解(无特殊需求可以跳过)

image.png

1.阈值类型

  1. 线程数:当操作线程大于配置,限流!
  2. QPS:当每秒并发数大于配置,限流!

2.流程模式

  1. 直接:直接限流,上文实例展示。
  2. 关联:被关联的资源达到阈值,导致当前资源被限流。(如下:当B超过QPS为1之后,A限流:)

image.png

  1. 链路:链路上游达到阈值,当前资源限流。例如:接口的上游都是sentinel_spring_web_context如果sentinel_spring_web_context超过阈值,demo限流!

image.png

3.流控效果

  1. 直接失败:直接抛出异常,上文示例方式。
  2. warm up:当系统长期处于低水位的情况下,当流量突然增加时,直接把系统拉升到高水位可能瞬间把系统压垮。通过"冷启动",让通过的流量缓慢增加,在一定时间内逐渐增加到阈值上限,给冷系统一个预热的时间,避免冷系统被压垮。warm up冷启动主要用于启动需要额外开销的场景,例如建立数据库连接,秒杀等等,防止服务瞬间被打垮。白话讲就是,根据冷加载因子,默认3,经过一段时间,才能达到预设的QPS。下图含义是初始阈值为10/3 = 3,在5秒内到达QPS到达10。

image.png

  1. 排队等待:当达到阈值,请求一个一个通过,排队超过1s,抛出异常。

image.png

2.降级

1.慢调用比例

满足两个条件会触发熔断:

  1. 请求数大于最小请求数。下面是每秒钟5个。
  2. 慢请求达到设置的比例。(请求时间大于最大RT的次数*比例阈值)

image.png

2.异常比例

需要两个条件。

  1. 每秒钟请求超过最小请求数,这里是五个。
  2. 异常比例超过50%触发熔断。

image.png

3.异常数

需要两个条件。

  1. 每秒钟请求超过最小请求数 ,这里是五个。
  2. 异常数大于5个。

image.png

3.热点规则

热点规则是按照参数值进行限流。下文含义是,监控/demo接口 如果有第一个参数,那么每秒的qps为1,如果第一个参数值为"a",QPS为20。

image.png

1.系统规则

系统保护规则是从应用级别的入口流量进行控制,从单台机器的 load、CPU 使用率、平均 RT、入口 QPS 和并发线程数等几个维度监控应用指标,让系统尽可能跑在最大吞吐量的同时保证系统整体的稳定性。

  1. Load 自适应(仅对 Linux/Unix-like 机器生效):系统的 load1 作为启发指标,进行自适应系统保护。当系统 load1 超过设定的启发值,且系统当前的并发线程数超过估算的系统容量时才会触发系统保护(BBR 阶段)。系统容量由系统的 maxQps * minRt 估算得出。设定参考值一般是 CPU cores * 2.5
  2. CPU usage(1.5.0+ 版本):当系统 CPU 使用率超过阈值即触发系统保护(取值范围 0.0-1.0),比较灵敏。
  3. 平均 RT:当单台机器上所有入口流量的平均 RT 达到阈值即触发系统保护,单位是毫秒。
  4. 并发线程数:当单台机器上所有入口流量的并发线程数达到阈值即触发系统保护。
  5. 入口 QPS:当单台机器上所有入口流量的 QPS 达到阈值即触发系统保护。

可以理解为系统规则是全局的限流配置,可以针对服务的全局QPS、机器的CPU等参数进行限流。

image.png

4.问题

问题一:发现sentinel报错,查看日志。

image.png

然后查看spring boot业务项目,发现出现以下错误 ,发现fastjson版本不对,然后去当前对象的sentinel中查看jar包版本替换即可。

image.png


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10015 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12069 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9154 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13817 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4487 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7340 0
+关注
小鲍侃java
小作坊架构师。
365
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载