【插件方式引入Sentinel限流实战,对业务零侵入】

1、前言

ali开源组件sentinel限流是一个非常不错的限流组件,适配了目前主流框架,像springcloud、dubbo这样的完美适配。如果通过再项目中引入jar包,会对业务有侵入,不太友好,本文简单案例实战通过agent插件的方式引入sentinel限流。

2、原理

用插件判断项目类型并引入相应jar包,加载相应限流配置即可。本文只用springboot做简单案例演示。

3、实现agent插件

核心代码:
这里写的测试接口是/h3
在这里插入图片描述

设置请求限流阻塞处理器。
WebCallbackManager.setUrlBlockHandler(new SentinelBlockHandler());

SentinelBlockHandler中写入限流信息
在这里插入图片描述

打包此插件(插件项目名笔者命名为learn)
在这里插入图片描述

4、写一个springboot测试接口

4.1 写一个接口/h3

在这里插入图片描述

4.2 启动方式

移入agent插件包
在这里插入图片描述
启动后日志:
在这里插入图片描述

4.3 测试结果

快速访问/h3接口,日志情况:
本示例设置的/h3的qps为1,所以1s内多次访问/h3接口 就会报限流异常
在这里插入图片描述
正常返回:
在这里插入图片描述

限流时打印信息:
在这里插入图片描述

  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大勺哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值