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主管配置出错,运行出错该走异常走异常。

 

posted @   创客未来  阅读(178)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示