关于sentinel的流控问题
来源:8-5 流控规则

动作100分
2021-07-12
老师,在实际的系统中,除了网关要对转发进行流控,各个微服务也要设置系统流控。
那微服务的每个接口都要设置流控规则吗?因为一个微服务就包含了几十上百个接口,如果每个都要设置的话,这个工作量是不是很大?
写回答
1回答
-
大目
2021-07-13
您好,非常棒的问题!
确实,默认情况下,Sentinel并没有提供诸如“全局规则”、“批量规则”的概念,意味着你确实需要为每个接口设置。
但是,让我们扩展一下:
《8-13 Sentinel API详解》讲解了Sentinel相对底层的API。
我们可以结合Spring MVC的拦截器(或者Servlet过滤器),在拦截器(或过滤器)中用Sentinel API包一下,设置统一的资源名称(例如global),并让拦截器(或过滤器)拦截所有请求,
这样,在Sentinel Dashboard上就会出现一个名为global的资源,你做下配置即可。
此外,实际项目中,并不会为每个API设置限流的。只有那些流量过大、担心被打爆的API才需要配置哈。
最后,这两个issue强烈建议看下:
https://github.com/alibaba/Sentinel/issues/66
https://github.com/alibaba/Sentinel/pull/134 这里有个全局规则的Pull Request,虽然没被合并,但是你也可以做个参考。
122021-07-13
相似问题
sentinel新增流控制失败
回答 1
流控模式之关联
回答 2