采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,在实际的系统中,除了网关要对转发进行流控,各个微服务也要设置系统流控。 那微服务的每个接口都要设置流控规则吗?因为一个微服务就包含了几十上百个接口,如果每个都要设置的话,这个工作量是不是很大?
您好,非常棒的问题!
确实,默认情况下,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,虽然没被合并,但是你也可以做个参考。
老师那降级规则呢,这个要全部请求都要设置吗?
一样啊,一个拦截器搞定
登录后可查看更多问答,登录/注册
面向未来微服务:熟练掌握Spring Cloud Alibaba
533 4
2.0k 1
2.6k 2
1.6k 3
3.6k 13