当前位置: 首页 > news >正文

Sentinel的安装和做限流的使用

一、安装

Release v1.8.3 · alibaba/Sentinel · GitHubA powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件) - Release v1.8.3 · alibaba/Sentinelhttps://github.com/alibaba/Sentinel/releases/tag/1.8.3https://github.com/alibaba/Sentinel/releases/tag/1.8.3https://github.com/alibaba/Sentinel/releases/tag/1.8.3https://github.com/alibaba/Sentinel/releases/tag/1.8.3

打开网址,可以看到下面有一个1.8.3的版本

下载完之后放在自己指定的文件夹里

然后在上面输入cmd打开cmd控制台,进行启动

java -Dserver.port=8888 -jar sentinel-dashboard-1.8.1.jar

这里的-Dserver.port=8888意味着设置了一个名为server.port的系统属性,其值为8888。这个系统属性通常被Java应用程序用来指定其运行时的服务器端口号。

二、客户端访问

浏览器访问:

127.0.0.1:8888(ip+端口号,端口号为刚刚设置的8888)

密码默认都是sentinel

输入账号和密码之后

 看到这页面说明安装成功!

三、微服务整合sentinel

(1)引入依赖

<!--引入sentinel客户端依赖-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId><version>${spring-cloud-alibaba.version}</version>
</dependency>

(2)修改配置

server:port: 9090
spring:cloud:sentinel:transport:dashboard: 127.0.0.1:8888 #sentinel控制台所在的ip和端口

(3)浏览器访问

sentinel属于懒加载模式,其核心思想是仅在需要时才加载资源。具体来说,在Sentinel中,懒加载模式意味着只有当一个资源(如API接口)被实际访问时,Sentinel才会开始对该资源进行监控和限流等策略的配置。

所以我们得需要先访问一下接口,才能加载进去

@RestController
@RequestMapping("/test")
public class UserController {//这边为了做测试,就简单的写一个test接口@RequestMapping("/test1")public String test1(){return "test1";}//多添加一个hello的测试接口,下面会用到@RequestMapping("/hello")public String hello(){return "hello";}  
}

重启服务器,在浏览器访问一下我们刚刚写的接口 

访问成功之后,重新刷新一下sentinel

点击打开就能看见相关信息

四、sentinel做限流

对资源进行设置限流规则

资源:ip,变量,参数, url==》一般用url做限流规则

1、如何做限流规则

新增完之后就可以看见新添的

这边用jmeter进行压力测试

可以看到,假设我们一秒钟请求10个,则只有五个通过,因为我们上面进行限流,一秒钟最多五个请求

这个就是直接模式

2、三种流控模式

直接,关联,链路

(1)直接模式

刚刚用的就是直接的流控模式

(2)关联模式(更多使用在同一个微服务)

这边我们举个例子来理解关联模式

比如我们有一个订单的微服务

订单微服务 ==》资源访问数100

--创建订单 ==》它90

--查询订单 ==》它只能10

设置:流控模式换成关联模式,新增一个hello的接口,来进行测试

 测试:

当它测试数据过多的时候,访问跟它相关联的/test/test1

(3)链路模式(更多使用在不同的微服务)

资源A可以访问资源B A-》B

资源C也可以访问B C-》B

举例场景:

创建订单===》调用商品

查询订单===》调用商品

这边涉及到微服务之间的相互调用,则需要写接口,修改配置

订单调用商品,用户调用商品,形成一个链路模式,然后就先写一下不同微服务之间的调用,如果在不同的微服务下,订单是个微服务,就要设置让openfeign接受sentinel,就要修改配置(修改两个),随后运行项目,让sentinel里面有对应的微服务的方法,并且设置限流模式为链路模式,进行限流,设置参数,然后就用jmeter进行压力测试,使用json断言来判断,查看结果树,看会不会影响到 ,这边就不做演示,思路大概是这样子的

#修改配置
spring:cloud:sentinel:transport:dashboard: 127.0.0.1:8888 #sentinel控制台所在的ip和端口web-context-unify: false #关闭,使得链路跟踪不会受到影响feign:sentinel:enabled: true #让openfeign支持sentinel

 五、拓展

(1)什么是sentinel,核心功能是什么?

Sentinel 是面向分布式系统的流量控制组件,核心功能包括流量控制、熔断降级、系统自适应保护、实时监控等,目标是保障微服务的稳定性。

(2)Sentinel 和 Hystrix 的主要区别是什么?

Sentinel 更强调流量控制(QPS/并发量)和实时监控,支持动态规则配置;Hystrix 侧重于熔断和线程隔离,但已进入维护模式。Sentinel 的流量控制模型更灵活(如直接拒绝、Warm Up、匀速排队)。

(3)为什么要使用sentinel?

流量控制:Sentinel可以进行限流操作,从而防止系统被过载压垮。这对于保护系统在高并发场景下的稳定性至关重要。

熔断降级:Sentinel通过熔断机制,可以在检测到某个服务出现不稳定表现时(如请求响应时间长或异常比例升高),自动对该服务的调用进行限制,让请求快速失败,从而避免影响到其他服务,保证系统的整体稳定性。

实时监控与报警:Sentinel提供了实时的监控功能,可以在控制台中看到接入应用的单台机器秒级数据,甚至500台以下规模的集群的汇总运行情况。同时,根据预设的规则,Sentinel还可以对系统的异常情况进行实时报警,及时通知相关人员进行处理,避免问题扩大化。

相关文章:

Sentinel的安装和做限流的使用

一、安装 Release v1.8.3 alibaba/Sentinel GitHubA powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件) - Release v1.8.3 alibaba/Sentinelhttps://github.com/alibaba/Senti…...

四柱预测学

图表 后天八卦 十二地支不仅代表了时间,还代表了方位。具体来说: ‌子‌:代表正北方‌丑寅‌:合起来代表东北方‌卯‌:代表正东方‌辰巳‌:合起来代表东南方‌午‌:代表正南方‌未申‌:合起来代表西南方‌酉‌:代表正西方‌戌亥‌:合起来代表西北方‌四季-五行-六神…...

【个人开发】macbook m1 Lora微调qwen大模型

本项目参考网上各类教程整理而成&#xff0c;为个人学习记录。 项目github源码地址&#xff1a;Lora微调大模型 项目中微调模型为&#xff1a;qwen/Qwen1.5-4B-Chat。 去年新发布的Qwen/Qwen2.5-3B-Instruct同样也适用。 微调步骤 step0: 环境准备 conda create --name fin…...

sqli-labs靶场实录(二): Advanced Injections

sqli-labs靶场实录: Advanced Injections Less21Less22Less23探测注入点 Less24Less25联合注入使用符号替代 Less25aLess26逻辑符号绕过and/or过滤双写and/or绕过 Less26aLess27Less27aLess28Less28aLess29Less30Less31Less32&#xff08;宽字节注入&#xff09;Less33Less34Le…...

Linux系统 环境变量

环境变量 写在前面概念查看环境变量main函数的参数argc & argvenv bash环境变量 写在前面 对于环境变量&#xff0c;本篇主要介绍基本概念及三四个环境变量 —— PATH、HOME、PWD。其中 PATH 作为 “ 敲门砖 ”&#xff0c;我们会更详细讲解&#xff1b;理解环境变量的全局…...

机器学习-线性回归(最大似然估计)

机器学习任务可以分为两类: 一类是样本的特征向量 &#x1d499; 和标签 &#x1d466; 之间存在未知的函数关系&#x1d466; h(&#x1d499;)&#xff0c;另一类是条件概率&#x1d45d;(&#x1d466;|&#x1d499;)服从某个未知分布。最小二乘法是属于第一类&#xff0c…...

【信息系统项目管理师-案例真题】2017上半年案例分析答案和详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一【问题1】8 分【问题2】4 分【问题3】8 分【问题4】5 分试题二【问题1】10 分【问题2】8 分【问题3】6 分【问题4】5 分试题三【问题1】5 分【问题2】7 分【问题3】6 分【问题4】3 分试题一 阅读下列说明…...

CSP晋级组比赛生成文件夹与文件通用代码Python

快速生成文件夹与文件的脚本 import sys import osmyfiles sys.argv[1::] for f in myfiles:os.mkdir(f)os.system(f"touch {f}/{f}.in")os.system(f"touch {f}/{f}.out")os.system(f"touch {f}/{f}.cpp")with open("template.cpp",…...

正则表达式进阶(二)——零宽断言详解:\b \B \K \z \A

在正则表达式中&#xff0c;零宽断言是一种非常强大的工具&#xff0c;能够在不消费字符的情况下对匹配位置进行约束。除了环视&#xff08;lookahead 和 lookbehind&#xff09;以外&#xff0c;还有一些常用的零宽断言&#xff0c;它们用于处理边界、字符串的开头和结尾等特殊…...

Android 中实现 PDF 预览三种方式

目录 1. 使用第三方库 PdfRenderer&#xff08;适用于 Android 5.0 及以上&#xff09; 步骤&#xff1a;2. 使用第三方库 MuPDF步骤&#xff1a;3. 使用第三方库 PdfiumAndroid步骤&#xff1a; 1. 使用第三方库 PdfRenderer&#xff08;适用于 Android 5.0 及以上&#xff09…...

尚硅谷课程【笔记】——大数据之Zookeeper【二】

课程视频&#xff1a;【尚硅谷Zookeeper教程】 四、Zookeeper实战 4.1分布式安装部署 1. 集群规划 在Hadoop102、Hadoop103和Hadoop104三个节点上部署Zookeeper 2. 解压安装 1&#xff09;解压Zookeeper.tar.gz到指定目录 tar -zxvf zookeeper-3.7.2.tar.gz -C /opt/mod…...

CodeGPT + IDEA + DeepSeek,在IDEA中引入DeepSeek实现AI智能开发

CodeGPT IDEA DeepSeek&#xff0c;在IDEA中引入DeepSeek 版本说明 建议和我使用相同版本&#xff0c;实测2022版IDEA无法获取到CodeGPT最新版插件。&#xff08;在IDEA自带插件市场中搜不到&#xff0c;可以去官网搜索最新版本&#xff09; ToolsVersionIntelliJ IDEA202…...

postgresql 游标(cursor)的使用

概述 PostgreSQL游标可以封装查询并对其中每一行记录进行单独处理。当我们想对大量结果集进行分批处理时可以使用游标&#xff0c;因为一次性处理可能造成内存溢出。 另外我们可以定义函数返回游标类型变量&#xff0c;这是函数返回大数据集的有效方式&#xff0c;函数调用者…...

计算机组成原理——指令系统(六)

在时间的长河中&#xff0c;我们都是追梦人&#xff0c;脚下的每一步都在刻画未来的模样。无论世界如何变幻&#xff0c;心中的那团火焰都不应熄灭。它是你突破黑暗、迎接黎明的力量源泉。每一个不曾起舞的日子&#xff0c;都是对生命的辜负&#xff1b;每一次跌倒后的站起&…...

Python设计模式 - 原型模式

定义 原型模式是一种创建型设计模式&#xff0c;它可以通过复制现有对象来创建新对象&#xff0c;而不是直接实例化新的对象。 结构 抽象原型&#xff08;Prototype&#xff09;&#xff1a;声明 clone() 方法&#xff0c;以便派生类实现克隆自身的能力。具体原型&#xff08…...

金和OA C6 DownLoadBgImage任意文件读取漏洞

金和OA C6 DownLoadBgImage任意文件读取漏洞 漏洞描述 金和C6数据库是一款针对企业信息化管理而设计的高级数据库管理系统&#xff0c;主要应用于企业资源规划&#xff08;ERP&#xff09;、客户关系管理&#xff08;CRM&#xff09;以及办公自动化&#xff08;OA&#xff09…...

【stm32学习】STM32F103实操primary(FlyMCU)

github插入图片实在是太难用了&#xff0c;暂时懒得学就先用CSDN吧hh 一、在设备管理器下&#xff0c;找到单片机&#xff0c;并检查与FlyMCU-搜索端口 显示的是否一致 二、在搜索串口右面的栏里选中该Port&#xff0c;波特率选中115200 三、选择文件夹中的.hex文件&#xff0…...

如何将Excel的表格存为图片?

emmm&#xff0c;不知道题主具体的应用场景是什么&#xff0c;就分享几个我一般会用到的场景下奖excel表格保存为图片的技巧吧&#xff01; 先来个总结&#xff1a; 方法 适用场景 画质 操作难度 截图&#xff08;WinShiftS&#xff09; 快速保存表格&#xff0c;方便粘贴…...

51单片机之使用Keil uVision5创建工程以及使用stc-isp进行程序烧录步骤

一、Keil uVision5创建工程步骤 1.点击项目&#xff0c;新建 2.新建目录 3.选择目标机器&#xff0c;直接搜索at89c52选择&#xff0c;然后点击OK 4.是否添加起吊文件&#xff0c;一般选择否 5.再新建的项目工程中添加文件 6.选择C文件 7.在C文件中右键&#xff0c;添加…...

AUTOSAR面试题集锦(1)

最基础概念 什么是AUTOSAR?AUTOSAR到底做了什么? AUTOSAR,即汽车开放系统架构,是一套专门用于汽车的开放性的框架和行业标准,旨在标准化汽车开发的流程。 AUTOSAR 通过标准化软件接口、交换格式和方法论等内容,主要实现以下几个目标: 1. 使软件和硬件彼此独立,让应…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

Chrome 浏览器前端与客户端双向通信实战

Chrome 前端&#xff08;即页面 JS / Web UI&#xff09;与客户端&#xff08;C 后端&#xff09;的交互机制&#xff0c;是 Chromium 架构中非常核心的一环。下面我将按常见场景&#xff0c;从通道、流程、技术栈几个角度做一套完整的分析&#xff0c;特别适合你这种在分析和改…...