ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 一、什么是链路限流 ![](https://img.kancloud.cn/29/8e/298eff5addb921898a6448b735fb9c28_692x402.png) 如上图所示 * 我们针对getUserByUserName资源进行流控规则配置,入口为:"/sysuser/info”。 * 期望实现的效果是从"/sysuser/info”访问getUserByUserName资源被限流,从“/sysorg/tree”入口访问getUserByUserName资源不被限流。 ## 二、将一个服务层函数标记为资源 在SysuserService方法中添加`@SentinelResource`注解将该函数标记为资源,成为资源之后,就可以为它添加流控规则。 ![](https://img.kancloud.cn/d0/c9/d0c933bdd22bd8c678a2cf216e737f82_745x123.png) Controller层方法,不用加`@SentinelResource`注解,默认就被标记为资源。 ![](https://img.kancloud.cn/09/84/0984eaaf4304f258784a9fcfc973f99a_763x197.png) ![](https://img.kancloud.cn/3c/c7/3cc7c696742e6192e13920d0cca5afc5_738x180.png) 资源添加完成之后,从“簇点链路”页面看,资源调用呈现树形结构。 ![](https://img.kancloud.cn/b1/85/b185450bd57dca45f87fb8fab5f11851_299x213.png) ## 三、增加流控规则 ![](https://img.kancloud.cn/be/13/be130f11ba4ba04cb69e679233582b3d_671x406.png) 上面的规则配置的含义是: * 从"/sysuser/info”访问getUserByUserName资源被限流,从其他入口访问getUserByUserName资源不被限流。 * 限流规则是:1秒钟只允许访问一次,超出之后访问失败。 ## 四、但是 从网友使用的反馈情况来看,链路流控规则的使用情况并不是很稳定。很多网友反映以上的流控规则并不生效。笔者经过反复实验,我是用的sentinel 1.7.2版本的确是无法生效,所以这一节内容暂时放在这里!**后续有发展我们再继续更新!** * github上面网友提出的issue,官方并未关闭。(如果是关闭状态,说明这个问题已经被解决了) [https://github.com/alibaba/spring-cloud-alibaba/issues/1275](https://github.com/alibaba/spring-cloud-alibaba/issues/1275) * 其他网友反应的问题。 [https://coding.imooc.com/learn/questiondetail/159466.html](https://coding.imooc.com/learn/questiondetail/159466.html)