api-网关限流我们能做到哪种程度

最近在研究spring-cloud的zuul的限流!

最简单的限流就是直接在配置文件里配置即可,在这里略....

这里讨论的是 extends ZuulFilter所能实现的限流。

从不同的维度,我们可以考虑不同的限流方案:

维度一、request:

        //获取request
        RequestContext ctx = RequestContext.getCurrentContext();
        HttpServletRequest request = ctx.getRequest();

我们可以拿到request,从request中可得到请求的uri、客户的ip、登陆的用户的id等;

我们可以为每个uri设置一个规则,或者为所有uri设置统一的规则;

同理可以为特定的ip设置规则,也可以为一组ip(如一个ip段)设置规则,也可以为所有的ip设置规则;......

维度二、从统计的粒度,假设有一个规则是要统计一个ip段,则根据粒度可以是限定该ip段的集合作为一个整体进行统计,也可以是该ip段中的每一个ip作为一个统计对象进行统计!

维度三、从请求对应的响应的角度,如:全部的响应、全部的异常响应(ResponseStatusCode取值不为200)、连续的异常响应

特别说明一点,异常响应的页面Whitelabel Error Page,想统计这个页面使用的filter应该是post!

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值