1.5-Sentinel流控规则

本文详细介绍了Sentinel的三种流控模式:直接、关联和链路。通过实例展示了如何在Sentinel控制台配置这三种流控规则,并解释了它们的工作原理和应用场景。例如,直接模式直接对API限流,关联模式在关联资源超过阈值时限流,而链路模式则基于请求链路进行限流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、新增流控规则

在Sentinel控制台中点击[簇点链路]菜单,在列表中选择一个API为它新增流控规则:

在弹出的对话框中,为 /share/1 这个API添加流控规则,几个核心参数设置如下:“来源应用”设置为【default】、即不区分来源、表示所有来源都受此限流规则控制,“阈值类型”设置为【QPS】、表示根据请求的QPS每秒查询率来进行限流,“流控模式”设置为【直接】、表示直接对该API地址进行限流控制,如下图所示:

保存上述设置的流控规则,在浏览器访问测试接口:http://localhost:8101/share/1 ,并快速刷新页面,会有如下提示:

由于Sentinel流控规则设置了/share/1这个API的QPS一旦达到阈值1就执行限流,所以这里访问一次这个接口,就会显示这段被限流的文本提示。

2、理解【关联】流控模式

在左侧菜单“流控规则”中找到前面设置的流控规则,点击“编辑”进行更改:

在弹出的对话框中,将流控模式设置为【关联】,并添加被关联的 API 地址,这里设置为监控端点的 /actuator/sentinel 这个地址:

给出完整详细的设计文档## **一、需求分析** ### **1. 项目背景** 工业品采购过程中,企业常常面临以下问题: * 商品种类繁多,难以快速找到合适的供应商。 * 价格不透明,难以进行有效的比价。 * 供应商信用难以评估,采购风险较高。 * 缺乏智能化的采购建议,决策效率低。 ### **2. 核心需求** #### **(1)网页端** * **商品搜索与展示**:用户可以通过关键词搜索商品,查看商品详情。 * **智能比价**:系统自动抓取多家供应商的价格,并进行比价分析。 * **供应商评价**:展示供应商的信用评分和历史交易记录。 * **采购建议**:根据用户历史行为和需求,提供智能化的采购建议。 * **用户管理**:支持用户注册、登录、收藏商品等功能。 #### **(2)管理端** * **商品管理**:管理员可以添加、编辑、删除商品。 * **价格管理**:管理员可以查看和更新商品价格。 * **供应商管理**:管理员可以添加、编辑、删除供应商。 * **用户管理**:管理员可以查看和管理用户信息。 * **数据统计**:展示系统概览信息(如商品总数、供应商总数、用户总数)。 * * * ## **二、模块设计** ### **1. 网页端模块** #### **(1)首页** * 搜索栏:用户输入关键词搜索商品。 * 热门商品推荐:展示热门商品列表。 * 供应商排行榜:展示信用评分最高的供应商。 #### **(2)商品详情页** * 展示商品详细信息。 * 展示多家供应商的价格对比。 * 用户可收藏商品。 #### **(3)比价页面** * 展示多个供应商的价格对比。 * 提供采购建议。 #### **(4)用户中心** * 用户登录/注册。 * 查看收藏夹。 * 查看采购历史。 * * * ### **2. 管理端模块** #### **(1)登录页** * 管理员登录。 #### **(2)仪表盘** * 展示系统概览信息(如商品总数、供应商总数、用户总数)。 #### **(3)商品管理** * 查看商品列表。 * 添加、编辑、删除商品。 #### **(4)价格管理** * 查看价格列表。 * 更新价格数据。 #### **(5)供应商管理** * 查看供应商列表。 * 添加、编辑、删除供应商。 #### **(6)用户管理** * 查看用户列表。 * 添加、编辑、删除用户。 * * * ## **三、项目构造** ### **1. 技术栈** * **后端**:Spring Boot + MyBatis + MySQL + Redis * **前端**:Vue 3 + Element Plus * **数据抓取**:Python(Scrapy/BeautifulSoup)或 Java(Jsoup) * **部署**:Docker + Nginx * * * ### **2. 项目结构** #### **(1)后端结构** #### **(2)前端结构** * * * ### **3. 后端实现** #### **(1)Spring Boot 项目搭建** 1. 使用 [Spring Initializr](https://start.spring.io/) 创建项目,选择依赖: * Spring Web * MyBatis * MySQL Driver * Spring Data Redis * Lombok 2. 配置 `application.yml`: #### **(2)商品管理模块** 1. 创建实体类 `Product`: 2. 创建Mapper接口 `ProductMapper`: 3. 创建Service层和Controller层(参考前文)。 * * * ### **4. 前端实现** #### **(1)Vue 项目搭建** 1. 使用 Vue CLI 创建项目: 2. 安装依赖: npm install element-plus axios #### **(2)首页开发** 1. 创建搜索组件: * * * ### **5. 数据抓取与存储** #### **(1)数据抓取** 使用 Python 或 Java 编写抓取脚本,从供应商网站或 API 获取价格数据。 #### **(2)数据存储** 将抓取的数据存储到 MySQL 数据库中,并通过 Spring Boot 提供接口。请加上springcloud微服务
03-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值