Sentinel 热点规则
热点:即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的Top k数据,并对其访问进行限制。
修改java代码:
@GetMapping("/testHotKey")
@SentinelResource(value = "testHotKey",blockHandler = "deal_testHotKey")
public String testHotKey(@RequestParam(value = "p1",required=false) String p1,
@RequestParam(value="p2",required = false) String p2){
return "------testHotKey";
}
//发生异常的兜底方法
public String deal_testHotKey(String p1, String p2, BlockException exception){
return "------deal_testHotKey,/(ㄒoㄒ)/~~";
}
1.常规配置热点规则
测试:
快速请求接口则出现兜底的方法内容。
参数换成p2随便狂点没毛病~,热点配置里没有设置参数p2。
2.参数例外项
普通情况下超过1秒钟一个后,达到阈值1后马上被限流
我们期望p1参数当它是某个特殊值时,它的限流值和平时不一样
特例情况,例如:当p1的值等于5时候,阈值变成200,通过设置参数例外项完成
请求测试
狂点也没问题~~
注意:
@SentinelResource
处理的是Sentinel控制台配置的违规情况,有blockHandler方法配置的兜底处理
RuntimeException
int age=10/0,这是java运行时报出运行异常RunTimeException,@SentinelResource不管
总结
@SentinelResource主管配置出错,运行出错该走异常走异常。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战