详解sentinel使用

news2025/1/12 15:56:06

目录

1.概述

2.下载安装

3.应用托管

4.流量控制

4.1.流控规则

4.2.流控模式

4.2.1.直接模式

4.2.2.关联模式

4.2.3.链路模式

4.3.流控效果

4.3.1.预热

4.3.2.排队等待

5.降级

5.1.降级规则

5.2.降级策略

5.2.1.RT

5.2.2.异常比例

5.2.3.异常数


1.概述

sentinel,springcloud alibaba中对标springcloud Netflix中的hystrix的组件,是一个强大的分布式系统保护工具,通过流量控制、熔断降级和系统负载保护等机制,保障了微服务架构的稳定性和可用性。它是Spring Cloud生态系统中的重要组件之一,被广泛应用于微服务开发和运维中。阿里每年的“双十一”,sentinel就是提供分布式保护机制的核心组件之一。

hystrix的缺点:

  1. 没有自带监控平台,需要整合配置dashboard实现监控
  2. 没有图形化界面提供配置,只能在代码层编码实现流控、降级、熔断。

sentinel的优点:

  1. 单独一个组件,提供图形化界面
  2. 提供图形化界面进行流控、降级、熔断配置。

2.下载安装

下载地址:

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

sentinel分为两部分:

  1. 核心库,是个JAVA客户端,提供限流、降级、熔断等功能
  2. 控制台,基于SpringBoot实现的dashboard,完成监控功能。

两者都集成在一个jar包中,运行jar包即可运行起两块功能。

页面地址:localhost:8080

默认用户名、密码:sentinel sentinel

3.应用托管

在应用一侧引入sentinel的依赖,配置好sentinel的地址以及与sentinel的通信端口,即可将应用托管给sentinel进行监控。

依赖:

<dependency>
   <groupId>com.alibaba.cloud</groupId>
   <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
   <version>${version}</version>
</dependency>

配置:

spring:
  cloud:
    sentinel:
      transport:
        dashboard: 127.0.0.1:8080
        port: 8719

懒加载:

sentinel采用懒加载机制,未被访问过的服务不会被监控,只有被访问过的服务才会被纳入监控。

4.流量控制

4.1.流控规则

在sentinel的流控规则中可以进行流控的规则设置。

资源名:URL,要求必须全局唯一。

阈值类型:限制线程数?限制每秒访问数?

单机阈值:每台机器的访问阈值

流控模式、流控效果:设置响应的方式。

4.2.流控模式

4.2.1.直接模式

超过阈值后会直接给出一个处理方式:

此处设置的是“快速失败”,直接给出一个响应。

4.2.2.关联模式

当自己所关联的资源到达阈值以后,限流自己。

即当与A关联的资源B达到阈值以后,限流A。

防止连坐效应造成关联业务宕机。

4.2.3.链路模式

链路模式需要配合簇点链路一起使用,

簇点链路里有一条默认的链路,链路下有当前系统中的所有访问路径。

链路模式即是除了通过资源名的访问会被流控以外,链路中的其他服务调用流控的资源名也会受到所配置的流控规则所限制。

4.3.流控效果

4.3.1.预热

预热(warm up),即预热/冷启动,

即不直接让系统去面对极限流量,而是当流量在达到所设定阈值的一个百分比时,系统拒绝所有流量,用一段时间来热身,热身完毕后再去面对极限流量。

这个阈值的百分比和一个系数相关——冷却因子(cold  factor)。冷却因子默认为3,即当瞬间流量达到阈值的1/3的位置时,系统会在后续的一段时间拒绝掉后续的流量(拒接的形式是直接返回一个响应),然后在这段时间里“预热”,预热完毕后再去处理极限流量。

这段“预热时间”可以动态配置,单位:秒。

4.3.2.排队等待

排队等待,让并发过来的请求排队匀速通过,适用于间隔性的突发流量峰值。涌过来的请求积压排队,利用间隔时间来逐渐放行。间隔时间默认500毫秒。

排队等待只处理QPS,每次只放行阈值数量的请求,超时未处理的请求直接返回响应,超时时间单位为毫秒。

5.降级

sentinel将熔断和降级揉在了一起,直接用熔断的方式来实现了降级。

5.1.降级规则

在sentinel的降级规则中可以进行降级的规则设置。

5.2.降级策略

5.2.1.RT

RT(新版本改名叫做“慢比列调用”),平均响应时间。

当一秒内有5个以上的请求进来,降级规则被唤醒,当进来的所有请求中有超过30%的请求响应时间超过1000ms,触发服务熔断,打开断路器,熔断时长20秒,此期间内对还想进来的请求快速返回一个响应,20秒以后,向服务发送探测信号,尝试闭合断路器。

5.2.2.异常比例

1秒内超过3个请求进来,唤醒降级规则,进来的请求里有超过30%的请求产生异常,触发熔断,断路器打开,熔断时长10秒,此期间内对还想进来的请求返回一个快速响应,10秒以后重新探测,尝试闭合断路器。

5.2.3.异常数

1分钟内超过3个请求进来,触发降级策略,所有请求中异常数如果超过阈值则触发熔断。

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

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

相关文章

CentOS7设置nginx服务开机自启【开机自启】

方法一&#xff1a;使用Systemd 1.创建服务单元文件 sudo vi /etc/systemd/system/nginx.service2.编辑配置文件 [Unit] DescriptionThe NGINX HTTP and reverse proxy server Aftersyslog.target network.target[Service] Typeforking ExecStartPre/usr/sbin/nginx -t Exec…

[数据结构初阶]双链表

目录 双链表定义 初始化 创建节点 尾插 ​编辑 尾删 头插 头删 打印 查找 pos插入 头插复用 尾插复用 pos删除 头删复用 尾删复用 判空 size 销毁 完整代码 前面我们学习了单链表&#xff0c;但按照带头不带头(哨兵)和循环不循环我们可以有四种单链表&#…

知识蒸馏学习记录

最近在学习降噪处理不良天气的算法过程中&#xff0c;接触到了知识蒸馏&#xff0c;该算法作为一个深度学习通用算法&#xff0c;不仅广泛应用在自然语言处理方面&#xff0c;在计算机视觉等领域也广受追捧。 概要 简单来说&#xff0c;知识蒸馏就是将一个大的教师网络萃取到…

Nginx虚拟机主机

Nginx虚拟机主机 简述 虚拟主机是一种特殊软硬件技术&#xff0c;将网络上每一台计算机分成多个虚拟主机&#xff0c;每个虚拟主机可独立对外提供www服务&#xff0c;实现一台主机对外提供多个web服务&#xff0c;每个虚拟主机之间独立&#xff0c;互不影响。 配置位置 既可以在…

基于深度学习的高精度塑料瓶检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度塑料瓶检测识别系统可用于日常生活中或野外来检测与定位塑料瓶目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的塑料瓶目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检…

自动化面试题5

一、Modbus通信485/232/422的优缺点。 &#xff08;1&#xff09;RS232和RS422是全双工的&#xff0c;RS485是半双工的。 &#xff08;2&#xff09;RS485与RS232仅仅是通讯的物理协议&#xff08;即接口标准&#xff09;有区别&#xff0c;RS485是差分传输方式&#xff0c;R…

Spring6 AOT 提前编译

文章目录 1、AOT概述1.1、JIT与AOT的区别1.2、Graalvm1.3、Native Image 2、Native Image构建过程2.1、GraalVM安装&#xff08;1&#xff09;下载GraalVM&#xff08;2&#xff09;配置环境变量&#xff08;3&#xff09;安装native-image插件 2.2、安装C的编译环境&#xff0…

法规标准-ISO 23374标准解读

ISO 23374是做什么的&#xff1f; ISO 23374全名为智能交通系统-自动代客泊车系统(AVPS) 第一部分&#xff1a;系统框架、自动驾驶要求和通信接口&#xff0c;针对AVPS的系统框架及功能要求、通信接口进行介绍&#xff0c;由于通信接口涉及功能实现&#xff0c;但此处介绍较为…

ubuntu20.04 磁盘故障,然后重装22.04

ubuntu20.04 磁盘故障&#xff0c;然后重装22.04 重装原因开机自启动不需要使用sudo 软件截图 flameshot输入法 fcitx5 重装原因 编译程序报错 /usr/include/x86_64-linux-gnu/bits/signum.h:26:10: fatal error: /usr/include/x86_64-linux-gnu/bits/signum-generic.h: 结构需…

VUE L ∠脚手架 配置代理 ⑩⑧

目录 文章有误请指正&#xff0c;如果觉得对你有用&#xff0c;请点三连一波&#xff0c;蟹蟹支持✨ V u e j s Vuejs Vuejs初识 V u e C L I VueCLI VueCLI C L I CLI CLI V u e Vue Vue配置代理 C L I CLI CLI配置方法一 C L I CLI CLI配置方法二 C L I CLI CLI V u …

经典文献阅读之--VIP-SLAM(紧耦合RGB-D视觉惯性平面SLAM)

0. 简介 现有的视觉SLAM很多的算法让仍然是基于特征提取的方法来完成地图的建立&#xff0c;而RGB-D传感器的算法仍然是主要基于稀疏点的SLAM系统&#xff0c;这就导致在构建稠密点云地图的时候需要保持大量的地图点来建模环境。大量的地图点给我们带来了很高的计算复杂性&…

Python 进阶(二):Python使用ORM框架peewee操作MySQL数据库

Python使用ORM框架peewee操作数据库 前言1. 安装Peewee库并初始化数据库2. 创建数据库连接3. 定义数据表模型类4. 连接数据库并创建表5. 操作数据库5.1 插入数据5.2 查询数据5.3 更新数据5.4 删除数据 6. 聚合查询 前言 本文基于MySQL8.x版本的学习&#xff0c;python版本基于…

美客多、Newegg卖家如何提高店铺销量?测评自养号的重要性

作为美客多和Newegg平台上的卖家&#xff0c;提高店铺销量是卖家取得商业成功的关键。珑哥今天来说一些有效的策略&#xff0c;帮助卖家增加销售额并提升店铺的知名度和竞争力。 优化产品页面&#xff1a; 优秀的产品页面可以吸引更多买家并促进销售。确保产品标题准确、吸引人…

经典文献阅读之--NICE-SLAM(SLAM的神经隐含可扩展编码)

0. 简介 对于深度学习而言&#xff0c;NeRF一定是最近两年最火的工作之一了&#xff0c;**NeRF&#xff08;Neural Radiance Fields&#xff09;**是最早在2020年ECCV会议上的Best Paper&#xff0c;其将隐式表达推上了一个新的高度&#xff0c;仅用 2D 的 posed images 作为监…

stm32配置基本定时功能

Clock Source参数说明 内部时钟源是由STM32F103芯片内部的RC振荡器提供的。它的频率为8MHz&#xff0c;可以通过PLL倍频器进行倍频&#xff0c;最高可达到72MHz。 Internal clock Division No Division&#xff1a;不分频&#xff0c;即系统时钟直接作为时钟信号。Divided by 2…

ModaHub AI模型社区:向量数据库CPU 版 Milvus和GPU 版 Milvus 版本比较

目录 CPU 版 Milvus 版本比较 概述 CPU 版 Milvus 支持的索引类型 浮点型向量 二值型向量 GPU 版 Milvus 版本比较 概述 GPU 版 Milvus 支持的索引类型 浮点型向量 二值型向量 CPU 版 Milvus 版本比较 概述 Milvus 提供两个发行版本&#xff1a;CPU 版本和 GPU 版本…

学生成绩管理系统(Python+数据库)

文章目录 前言MySQL部分1. 导入信息2. 演示说明 Python程序设计部分1. 连接数据库2. 登录界面3. 注册界面4. 主界面5. 查询信息6. 修改密码7. 成绩分析7.1 通过学号查询成绩7.2 通过课程号查询成绩 7. 主函数 尾声 前言 用Python和数据库一起实现了一个简单的学生成绩管理系统…

GPDB-内核特性-UDP流量控制

GPDB-内核特性-UDP流量控制 GPDB是在开源PostgreSQL基础上&#xff0c;采用MPP架构的关系型分布式数据库&#xff0c;具有强大的大规模数据分析任务处理能力。采用Shared-Nothing架构&#xff0c;整个集群由多个数据节点&#xff08;segment&#xff09;和控制节点&#xff08;…

Python爬虫 从小白到高手 各种最新案例! Urllib Xpath

Urllib 1.什么是互联网爬虫&#xff1f; 如果我们把互联网比作一张大的蜘蛛网&#xff0c;那一台计算机上的数据便是蜘蛛网上的一个猎物&#xff0c;而爬虫程序就是一只小蜘蛛&#xff0c;沿着蜘蛛网抓取自己想要的数据 解释1&#xff1a;通过一个程序&#xff0c;根据Url(http…

实训五:数据库安全控制 - 创建用户

创建用户 第1关&#xff1a;创建用户任务描述相关知识增加用户修改用户名修改用户密码删除用户 编程要求测试说明参考代码 第2关&#xff1a;创建用户-练习任务描述相关知识编程要求测试说明参考代码 第1关&#xff1a;创建用户 任务描述 本关任务&#xff1a;创建用户 user1…