springboot集成Sentinel
1、添加依赖
- 该版本匹配springboot 2.3.x和2.4.x
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId><version>2021.1</version>
</dependency>
2、SentinelConfig配置限流规则
@Configuration
public class SentinelConfig {@Beanpublic SentinelResourceAspect sentinelResourceAspect() {return new SentinelResourceAspect();}@PostConstructprivate void initRules() {//=============================规则1=========================FlowRule rule1 = new FlowRule();rule1.setResource("rule1");//规则名称rule1.setGrade(RuleConstant.FLOW_GRADE_QPS);//如果设置0则按照线程数限流,如果设置1则按照QPS(每秒查询率)限流rule1.setCount(100); // 每秒调用最大次数为 100 次rule1.setControlBehavior(0);//0快速失败,1预警,2排队等候rule1.setMaxQueueingTimeMs(1000);//排队超时阈值//=============================规则2=========================FlowRule rule2 = new FlowRule();rule2.setResource("rule2");rule2.setGrade(RuleConstant.FLOW_GRADE_QPS);rule2.setCount(10); // 每秒调用最大次数为 10 次List<FlowRule> rules = new ArrayList<>();rules.add(rule1);rules.add(rule2);FlowRuleManager.loadRules(rules);}
}
3、API限流
@SentinelResource(value = "rule1", blockHandler = "poll", blockHandlerClass = SentinelHandler.class)
@ApiOperation("批量拉取消息")
@PostMapping("/poll")
public BaseResult poll(@RequestBody @Valid PollMessageRequest request){return BaseResult.success(kafkaService.poll(request));
}
4、配置handler
- handler里的方法必须用public static修饰
- handler里的方法的返回值类型必须和原方法保持一致,参数是在原参数后边加一个BlockException
public class SentinelHandler {public static BaseResult poll(PollMessageRequest request, BlockException e) {throw new BusinessException("请勿频繁操作");}
}
相关文章:
springboot集成Sentinel
1、添加依赖 该版本匹配springboot 2.3.x和2.4.x <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId><version>2021.1</version> </dependency> 2、Sentin…...
数据结构——单链表OJ题
单链表OJ题 前言一、删除链表中等于给定值 val 的所有节点二、反转一个单链表三、返回链表的中间结点四、输出该链表中倒数第k个结点五、将两个有序链表合并六、链表的回文结构七、将链表分割成两部分八、找出第一个公共结点九、判断链表中是否有环总结 前言 在前面的博客中我…...
【雕爷学编程】MicroPython动手做(31)——物联网之Easy IoT
1、物联网的诞生 美国计算机巨头微软(Microsoft)创办人、世界首富比尔盖茨,在1995年出版的《未来之路》一书中,提及“物物互联”。1998年麻省理工学院提出,当时被称作EPC系统的物联网构想。2005年11月,国际电信联盟发布《ITU互联网…...
《前端开发 实践之 构建工具的了解》
目录 构建工具的了解Vite 构建工具了解基本使用 构建工具的了解 前端构建工具之一:vite Vite 构建工具了解 todo 基本使用 todo...
MySQL 主从搭建
文章目录 前言一、MySQL 主从是什么?二、通过 Docker 部署三、配置主从关系四、实际情况分析&解决方案五、常见问题处理1、CLONE需要版本不同2、CLONE需要参数相同 总结 前言 MySQL 主从搭建 操作系统:CentOS Linux release 7.9.2009 (Core) 操作系…...
国内GitHub加速访问工具-Fetch GitHub Hosts
一、工具介绍 Fetch GitHub Hosts是一款开源跨平台的国内GitHub加速访问工具,主要为解决研究及学习人员访问 Github 过慢或其他问题而提供的 Github Hosts 同步工具。 项目原理:是通过部署此项目本身的服务器来获取 github.com 的 hosts,而…...
Webpack5新手入门简单配置
1.初始化项目 yarn init -y 2.安装依赖 yarn add -D webpack5.75.0 webpack-cli5.0.0 3.新建index.js 说明:写入下面的一句话 console.log("hello webpack"); 4.执行命令 说明:如果没有安装webpack脚手架就不能执行yarn webpack(…...
基于ali-oss实现不同类型文件上传不同的bucket
基于ali-oss实现不同类型文件上传不同的bucket,并根据大小选择直接上传还是分片上传 1 配置OSS2 引入依赖3 上传核心代码4 文件回显 1 配置OSS 可以看阿里云文档 ps:记得配置跨域 2 引入依赖 pnpm install ali-oss -save3 上传核心代码 import OSS from "ali-oss"…...
域名校验?反爬界的掩耳盗铃!
这一集我们讲一个比较简单的域名校验,可能你没有听过这个名字,因为这个名字是我编的,那么它究竟是什么呢?又为什么说它是掩耳盗铃呢?我们来看看下面的案例: 必应搜索页隐藏内容虎嗅新闻跳转404 import re…...
Cesium 实战教程 - 调整 3dtiles 倾斜摄影大小
Cesium 实战教程 - 调整 3dtiles 倾斜摄影大小 核心代码完整代码在线示例 之前由于误解遇到一个特殊的需求:想要把三维球上叠加倾斜摄影进行自由放大缩小,跟随地图的缩放进行缩放。 后来经过搜索、尝试,终于实现了需求。 但是,后…...
python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题
决策树算法 特征工程-特征提取 特征提取就是将任意数据转换为可用于机器学习的数字特征。计算机无法直接识别字符串,将字符串转换为机器可以读懂的数字特征,才能让计算机理解该字符串(特征)表达的意义。 主要分为:字典特征提取(特征离散化)…...
数据结构与算法中的双向链表
链表概念在现实世界中使用得很普遍。当我们使用 Spotify 播放队列中的下一首歌曲时,我们学到的单链表的概念就开始发挥作用。但是要播放队列中的上一首歌曲到底可以做什么呢? 在这篇博客中,我们将了解与数据结构相关的另一个概念,…...
数据安全治理的关键-数据分类分级工具
强大的资产发现能力 多种资产发现方式的组合应用,能够最大程度地提高资产发现能力。 灵活的敏感数据分类分级规则 内置丰富的敏感数据分类分级规则,支持正则表达式、关键词组、非结构化指纹、结构化指纹、机器聚类等多种匹配方式,并且规则…...
Spring集成Junit
目录 1、简介 2、Junit存在的问题 3、回顾Junit注解 4、集成步骤 4.1、导入坐标 4.2、Runwith 4.3、ContextConfiguration 4.4、Autowired 4.5、Test 4.6、代码 5、补充说明 5.1、Runwith 5.2、BlockJUnit4ClassRunner 5.3、没有配置Runwith ⭐作者介绍࿱…...
Java正则校验密码至少包含:字母数字特殊符号中的2种
一、语法 字符说明\将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如, n匹配字符 n。\n 匹配换行符。序列 \\\\ 匹配 \\ ,\\( 匹配 (。^匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与"\n…...
Stable Diffusion教程(6) - 扩展安装
打开stable diffusion webUI界面 加载插件列表 依次点击扩展->可用->加载自 搜索插件 首先在搜索框输入你要安装的插件,然后点击插件后面的安装按钮 如果你需要的插件这里面没有找到,可通过通网址安装的方式安装。 在git仓库网址输入框输入的你插件…...
Jenkins通过OpenSSH发布WinServer2016
上一篇文章> Jenkins集成SonarQube代码质量检测 一、实验环境 jenkins环境 jenkins入门与安装 容器为docker 主机IP系统版本jenkins10.10.10.10rhel7.5 二、OpenSSH安装 1、下载 官网地址:https://learn.microsoft.com/zh-cn/windows-server/administration/op…...
字母异位词分组 LeetCode热题100
题目 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 思路 将字符串按字符升序排列后作为key,原字符串作为value存储到map上。 代码 class Solution…...
使用angular和electron 构建桌面应用
使用angular和electron 构建桌面应用 初始设置 新建一个angular app npm install -g @angular/cli ng new angular-electron cd angular-electron修改src/index.html文件内容 将绝对路径改为相对路径,加个点,使electron可以访问到angular文件资源 <base href=".…...
安达发制造工业迈向智能化:APS高级计划排程助力提升生产效率
随着市场竞争的加剧,制造企业纷纷寻求提高生产效率和降低成本的方法。近年来,越来越多的制造企业开始采用APS(高级计划与排程)系统,以优化生产计划和排程,提高生产效率,并在竞争中取得优势。 现代制造业通常面临复杂的…...
DMA技术解析:提升嵌入式系统性能的关键
1. DMA技术概述:解放CPU的搬运工 DMA(Direct Memory Access)直接存储器访问技术,是现代嵌入式系统中提升性能的关键设计。我第一次在STM32项目中使用DMA传输时,实测发现ADC采样率从500kHz提升到2.1MHz,CPU占…...
顺序测试:低量级 A/B 测试的秘密调料
原文:towardsdatascience.com/sequential-testing-the-secret-sauce-for-low-volume-a-b-tests-fe62bdf9627b 在处理有限数据时如何加速决策并提高准确性 https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/36b9886f43ff7bdaeb3e…...
准分子消光炉市场预测:2025-2031年复合年增长率(CAGR)达5.5%
在工业表面处理领域,准分子消光炉作为一种依托准分子紫外(UV)光(典型波长172nm)的专用工业系统,正凭借其低温可控、精准改性的技术特性,重塑高端材料处理市场格局。据恒州诚思(YH Re…...
129. index.yaml 与基于 git 的 Rancher App 仓库中图表显现的优先级
Situation 地理位置 Rancher supports git-based repositories in the Apps feature, enabling deployment of Helm charts into Rancher-managed clusters, from a git repository. An example of such a git repository is provided by the RKE2 cluster template examples …...
GraphPad Prism 介绍是干啥的?安装教程
安装教程 安教和安包https://qqstone.top/blog/graphpad-prism-10.1.2 一、GraphPad Prism 是什么、用来干什么 GraphPad Prism 是专门面向生物医学、药学、生命科学、基础医学的科研统计与绘图软件,主打不用编程、操作简单、结果规范,是发表 SCI 论文…...
深入解析MIPI RFFE接口:从寄存器操作到实战技巧
1. MIPI RFFE接口基础入门 第一次接触MIPI RFFE接口时,我也被它简单的两根线设计给"骗"了。表面上看就是个普通的串行接口,但实际开发中遇到的坑可不少。RFFE全称RF Front-End Control Interface,是MIPI联盟专门为射频前端模块设计…...
Blue-Topaz主题快速上手:打造个性化Obsidian笔记环境
Blue-Topaz主题快速上手:打造个性化Obsidian笔记环境 【免费下载链接】Blue-Topaz_Obsidian-css A blue theme for Obsidian. 项目地址: https://gitcode.com/gh_mirrors/bl/Blue-Topaz_Obsidian-css Blue-Topaz是一款为Obsidian设计的蓝色主题,…...
【GUI-Agent】阶跃星辰 GUI-MCP 解读---()---执行层芭
起因是我想在搞一些操作windows进程的事情时,老是需要右键以管理员身份运行,感觉很麻烦。就研究了一下怎么提权,顺手瞄了一眼Windows下用户态权限分配,然后也是感谢《深入解析Windows操作系统》这本书给我偷令牌的灵感吧ÿ…...
用AI写代码踩坑记:让DeepSeek帮我搞定CH32V003驱动WS2812B的PWM+DMA程序
从AI生成到实战调试:CH32V003驱动WS2812B的PWMDMA完整指南 第一次让DeepSeek帮我写CH32V003驱动WS2812B的代码时,我天真地以为只要把芯片手册扔给它就能坐享其成。直到看到它生成的PWM配置把TIM1_CH4映射到了PA8(实际应该是PC4)&a…...
msgpack Golang查询功能揭秘:高效提取序列化数据的完整指南
msgpack Golang查询功能揭秘:高效提取序列化数据的完整指南 【免费下载链接】msgpack msgpack.org[Go] MessagePack encoding for Golang 项目地址: https://gitcode.com/gh_mirrors/msg/msgpack 想要在Golang项目中快速提取MessagePack序列化数据中的特定字…...
