sentinel参数配置详细说明

news2024/10/7 11:23:16

使用的是sentinel-dashboard来配置

流控规则

在这里插入图片描述
阈值类型

  • QPS 当每秒并发数大于配置,则进行限流
  • 并发数线程数 当执行的线程数大于配置,则进行限流

单机阈值

  • 配置的具体值

流控模式

  • 直接 默认项,就是在资源名配置的路径进行生效

  • 关联:被关联的资源达到阈值后,当前配置的资源会被限流。
    在这里插入图片描述
    如图,当资源test-b达到阈值后,test-a会被限流

  • 链路 入口资源达到阈值后,当前配置的资源会被限流。
    在这里插入图片描述
    如图,sentinel中所有的最开始的入口资源都是sentinel_spring_web_context,如果此资源达到阈值,则test-a会被限流

流控效果

  • 快速失败 默认项,直接进行流控
  • warm up 当系统长期处于低水位的情况下,当流量突然增加时,直接把系统拉升到高水位可能瞬间把系统压垮。通过"冷启动",让通过的流量缓慢增加,在一定时间内逐渐增加到阈值上限,给冷系统一个预热的时间,避免冷系统被压垮。warm up冷启动主要用于启动需要额外开销的场景,例如建立数据库连接,秒杀等等,防止服务瞬间被打垮。其实就是根据冷加载因子,默认3,经过一段时间,才能达到预设的QPS。
    在这里插入图片描述
    如图,意思是初始阈值为10/3 = 3,在6秒内到达QPS到达10。
  • 排队等待 当达到阈值,请求进行排队一个一个的通过执行,如果等待时间超过2000ms,则抛出异常
    在这里插入图片描述

熔断规则

熔断策略

  • 慢调用比例 要同时满足两个条件才能够熔断

    • 请求数大于最小请求数
    • 慢请求数(执行时间大于最大RT)达到设置的比例,也就是执行时间大于最大RT的次数*比例阈值
      在这里插入图片描述
    • 如图,在统计时长1000ms内,请求数目大于设置的最小请求数目10,并且慢调用的比例大于阈值,熔断时长5s内自动触发熔断(调用方法时,抛出DegradeException)
    • 熔断恢复:在熔断时长后,熔断器进入探测恢复状态(half-open状态),
      如果接下来的请求响应时间 < 设置的最大RT响应时间,则结束熔断
      如果接下来的请求响应时间 > 设置的最大RT响应时间,则继续在熔断时长内保持熔断
  • 异常比例 依旧要同时满足两个条件才能够熔断

    • 请求数大于最小请求数
    • 异常比例达到50%
      在这里插入图片描述
    • 如图,在统计时长1000ms内,请求数目大于设置的最小请求数目10,并且异常的比例大于50%,熔断时长5s内自动触发熔断(调用方法时,抛出DegradeException)
  • 异常数 依旧要同时满足两个条件才能够熔断

    • 请求数大于最小请求数
    • 异常数大于设置的值
      在这里插入图片描述
    • 如图,在统计时长1000ms内,请求数目大于设置的最小请求数目10,并且异常数大于10,熔断时长5s内自动触发熔断(调用方法时,抛出DegradeException)

注意异常降级仅针对业务异常,对 Sentinel 限流降级本身的异常(BlockException)不生效。为了统计异常比例或异常数,需要通过 Tracer.trace(ex) 记录业务异常

热点规则

在这里插入图片描述

  • 如图,test-a接口如果有第一个参数,那么每秒的QPS阈值为10,如果第一个参数值为String类型,值为"student-1",QPS阈值为15

系统规则

系统保护规则是从应用级别的入口流量进行控制,从单台机器的总体 LoadRT入口 QPSCPU 使用率和线程数五个维度监控应用数据,让系统尽可能跑在最大吞吐量的同时保证系统整体的稳定性。 系统保护规则是应用整体维度的,而不是资源维度的,并且仅对入口流量 (进入应用的流量) 生效。

  • Load(仅对 Linux/Unix-like 机器生效) 当系统 load1 超过阈值,且系统当前的并发线程数超过 系统容量时才会触发系统保护。系统容量由系统的 maxQps * minRt 计算得出。设定参考值一般 是 CPU cores * 2.5。
  • RT 当单台机器上所有入口流量的平均 RT 达到阈值即触发系统保护,单位是毫秒。
    线程数:当单台机器上所有入口流量的并发线程数达到阈值即触发系统保护。
  • 入口QPS 当单台机器上所有入口流量的 QPS 达到阈值即触发系统保护。
  • CPU使用率 当单台机器上所有入口流量的 CPU使用率达到阈值即触发系统保护
    在这里插入图片描述

压测

压测接口

在这里插入图片描述
/testSentinel为接口,/testSentinelRpc为接口内的feign调用

流控规则

直接模式

对/testSentinel进行流控
在这里插入图片描述
结果
在这里插入图片描述
对/testSentinelRpc进行流控
在这里插入图片描述
结果
在这里插入图片描述
/testSentinelRpc为feign当被流控后会直接执行@FeignClient中的fallback处理类的方法

关联模式

在这里插入图片描述
结果
在这里插入图片描述
设置为/testSentinelV2关联/testSentinel,当/testSentinel达到设置的阈值后,/testSentinelV2会被流控

链路模式

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

链路模式和直接模式结合

链路流控阈值为20,接口流控阈值为10
在这里插入图片描述
在这里插入图片描述
结果是当阈值超过10会进行流控
在这里插入图片描述
链路流控阈值为10,接口流控阈值为20
在这里插入图片描述
在这里插入图片描述
结果依旧是阈值超过10会进行流控
在这里插入图片描述

流控效果

warm up

在这里插入图片描述
结果
在这里插入图片描述在这里插入图片描述
可以看出warm up模式整个过程是生效的

排队等待

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

熔断规则

在这里插入图片描述
首先每秒15请求数,隔一段时间后为每秒5请求数进行压测
在这里插入图片描述
在这里插入图片描述
可以看到熔断是生效的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/512593.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

量子启发生成AI!Zapata Computing联合宝马、MIT优化车辆生产

​ &#xff08;图片来源&#xff1a;网络&#xff09; Zapata Computing是一家量子软件开发公司&#xff0c;致力于为企业构建量子就绪应用解决方案&#xff0c;以解决最复杂的计算问题。5月4日&#xff0c;Zapata Computing宣布发表一篇论文&#xff0c;详细介绍了他们联合宝…

Nevron Open Vision for .NET 2022.3 Crack

Nevron Open Vision for .NET 适用于 Blazor、WPF、WinForms 和 Xamarin.Mac 的领先用户界面组件 Nevron Open Vision for .NET 是一套高级 UI 组件&#xff0c;可帮助您从单个代码库开发功能丰富的 Web &#xff08;Blazor WebAssembly&#xff09; 和桌面 &#xff08;WinFor…

C++ MFC调用JS代码获取返回值

C有时候会需要调用JS代码&#xff0c;这对于C来说或者对于国内来说一直是比较蛋疼的问题&#xff0c;主要是资料少&#xff0c;微软提供了一个COM组件&#xff0c;里面包含有JS引擎&#xff0c;这个组件就是&#xff1a;msscript.dll。 此文件在C:\Windows\SysWOW64目录下&…

【TA100】6 PC手机图形API介绍

1 电脑的工作原理: 电脑是由各种不同的硬件组成&#xff0c;由驱动软件驱使硬件进行工作。所有的软件工程师都会直接或者间接的使用到驱动。定义:是一个图形库&#xff0c;用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口 (API)。针对GPU。应用端:即我们自己的程序端…

MySql -- JDBC编程

1.Java的数据库编程&#xff1a;JDBC JDBC&#xff0c;即Java Database Connectivity&#xff0c;java数据库连接。是一种用于执行SQL语句的Java API&#xff0c;它是Java中的数据库连接规范。这个API由 java.sql.*,javax.sql.* 包中的一些类和接口组成&#xff0c;它为Java开…

Flutter性能分析工具使用

使用前提 flutter常用的性能分析工具&#xff0c;这些工具都集成在android studio中&#xff0c;基本能满足我们的需求了。在下面介绍的几个工具中&#xff0c;Flutter Performance和Flutter Inspector都能够直接在debug模式下使用&#xff0c;但是DevTools只能在profile模式下…

铁路中的警冲标

1、警冲标的定义 警冲标是用来指示机车车辆停车时&#xff0c;不准向道岔方向或线路交叉点方向越过&#xff0c;以防止停留在该线上的机车车辆与邻线上的机车车辆发生侧面冲突的标志。另外&#xff0c;在出站道岔上&#xff0c;警冲标用来确定站界标位置。 2、警冲标怎么设置 …

nettyspringboot开发即时通讯系统

Netty 和 Spring Boot 是当今应用最广泛的 Java 技术之一&#xff0c;两个框架的集成能够构建出高效、稳定并且易于扩展的即时通讯系统。在本篇文章中&#xff0c;我们将会学习和探讨 Netty 和 Spring Boot 的整合&#xff0c;并且演示如何使用它们来构建一个高效、实时的即时通…

浓缩咖啡会降低2型糖尿病风险?

咖啡是全球消费最频繁的饮料之一&#xff0c;其潜在的健康效应引发了重要的科学研究。先前的研究已经将更高的咖啡摄入量与较低的T2D风险联系起来&#xff0c;但潜在机制仍不清楚。 一项新研究揭示&#xff0c;咖啡有助于降低2型糖尿病的风险。研究人员发现&#xff0c;每天增加…

安装endnote 之后打开word出现乱码

文章目录 1 安装endnote 之后打开word出现乱码3 EndNote X9 插入参考文献常见问题总结4 EndNote X9 快速上手教程&#xff08;毕业论文参考文献管理器&#xff09; 1 安装endnote 之后打开word出现乱码 安装了endnote&#xff0c;打开文档后&#xff0c;目录显示这样&#xff…

虹科案例 | 对症下药,零售行业商业智能分析解决方案及应用案例!

零售行业商业智能分析解决方案 Domo为零售、电子商务、物联网等提供数据洞察力 利用数字增强数字程序的应用 -快速迭代并指导数字化程序的应用。 -有效管理“最后一公里”并降低交付成本。 -优化客户体验并不断适应客户的新需求&#xff0c;例如线下实体店可进行在线退货。…

【Hackthebox Stocker】打靶记录

Hackthebox Stocker nmap 扫描一把 得到tcp端口22 80 nmap -sC -sV 10.10.11.196 Starting Nmap 7.93 ( https://nmap.org ) at 2023-05-10 05:51 EDT Nmap scan report for 10.10.11.196 Host is up (0.25s latency). Not shown: 998 closed tcp ports (reset) PORT STAT…

C++:C++Primer Plus(第六版):Chapter16 : string类和标准模板库:智能指针

Chapter16.2 : 智能指针模板类 1.指针指针现实需求1.1 普通指针弊端 1.2 智能指针现实需求2. 智能指针使用范式2.1 下面演绎三种智能指针用法注意一个问题 3. 三种智能指针特点3.1 为何摒弃 auto_ptr 3.2 选用 unique_ptr3.3 选用 shared_ptr4. 应该使用哪种智能指针 本章节我们…

学好数据结构的秘诀

学好数据结构的秘诀 作为计算机专业的一名“老兵”&#xff0c;笔者从事数据结构和算法的研究已经近20余年了&#xff0c;在学习的过程中&#xff0c;也会遇到一些问题&#xff0c;但在解决问题时&#xff0c;积累了一些经验&#xff0c;为了让读者在学习数据结构的过程中少走…

Vue2全家桶 (Vue2、VueRouter、Vuex) 笔记

前言 有错的地方希望大家能够帮忙指正一下&#xff1b;本文只是对Vue2全家桶的基本语法进行记录。给孩子点点关注吧&#xff01;&#x1f62d; 壹、Vue2 Vue&#xff1a;一个 JavaScript 渐进式框架&#xff1b; 渐进式&#xff1a;逐渐使用&#xff0c;集合更多的功能&am…

一文总结 Google I/O 2023

今日凌晨举行的谷歌 I / O 2023 开发者大会上&#xff0c;如果说和往年有什么不同&#xff0c;那么应该就是更大力度的 All in AI 。 毕竟在去年 I/O 宣布重点投入 AI 之后&#xff0c;年末却被 OpenAI 的 ChatGPT “越塔偷家”&#xff0c;匆忙攒出一个发布会还让 Bard 爆出事…

国内最大规模上云实践 | 鹅厂如何在云原生2.0时代“挖呀挖”?

&#x1f449;腾小云导读 2022 年 10 月&#xff0c;腾讯自研业务产品全面完成云原生上云。自研业务产品云上规模已突破 5000w CPU&#xff0c;借助云原生的技术优势&#xff0c;全面提升了腾讯自研业务产品的运营效率&#xff0c;在此过程中我们也对腾讯云产品进行了打磨和验证…

适合Python 初学者入门教程和资源

如果您是 Python 的初学者&#xff0c;以下是一些入门教程和资源可以帮助您快速开始&#xff1a; 1、Python 官方教程: Python 官方网站提供了完整的入门教程&#xff0c;包括语言基础、面向对象编程、模块、文件处理等方面的内容。这是一个非常全面和权威的资源。 2、Codecade…

盖雅工场重磅发布「劳动力账户」,助力企业实现全面工时成本管理

2023年5月10日&#xff0c;亚太地区领先的劳动力管理云服务商盖雅工场宣布&#xff0c;在原有的智能排班和实时考勤系统基础之上&#xff0c;正式推出全新模块「劳动力账户」&#xff0c;通过为企业里的每一位员工建立劳动力账户&#xff0c;实现工时与成本的全面管控&#xff…

一文打通原生Shiro使用

目录 环境准备 添加依赖 INI 文件 登录认证 登录认证概念 登录认证基本流程 登录认证实例 身份认证流程 角色、授权 授权概念 授权方式 授权流程 授权实例 Shiro 加密 Shiro 自定义登录认证 环境准备 Shiro不依赖容器&#xff0c;直接创建maven工程即可 添加依…