zoukankan      html  css  js  c++  java
  • [译]Ocelot

    原文

    Ocelot支持对上游做访问限流,这样就可以保证下游不要负载太大了。

    如果要启用访问限流,需要做如下配置:

    "RateLimitOptions": {
        "ClientWhitelist": [],
        "EnableRateLimiting": true,
        "Period": "1s",
        "PeriodTimespan": 1,
        "Limit": 1
    }
    
    • ClientWhitelist - 是和客户端白名单的数组。白名单里面的客户不受限流的限制。
    • EnableRateLimiting - 是否启用限流
    • Period - 标识限流作用于的时间段, 例如: 1s, 5m, 1h,1d 等。如果在这个时间段内访问的次数超过了限制,需要等PeriodTimespan这么久才能再次发起请求。
    • PeriodTimespan - 单位为秒,这个值标识要多少秒后才能重试。
    • Limit - 标识在指定的Period时间段里面最大能请求多少次。

    可以在GlobalConfiguration里面做如下配置:

    "RateLimitOptions": {
      "DisableRateLimitHeaders": false,
      "QuotaExceededMessage": "Customize Tips!",
      "HttpStatusCode": 999,
      "ClientIdHeader" : "Test"
    }
    
    • DisableRateLimitHeaders - 是否在响应的请求头里面包含X-Rate-LimitRety-After
    • QuotaExceededMessage - 设置超过限制的提示语。
    • HttpStatusCode - 超过限制时的Http状态码。
    • ClientIdHeader - Allows you to specifiy the header that should be used to identify clients. By default it is “ClientId”
  • 相关阅读:
    Ajax原生XHR对象
    node-sass报错解决方法
    AngularJS中的表单验证
    javaScirpt事件详解-原生事件基础(一)
    jQuery Ajax总结
    Ruby 方法
    JS中常遇到的浏览器兼容问题和解决方法
    History对象
    转码与解码
    Location对象
  • 原文地址:https://www.cnblogs.com/irocker/p/ocelot-ratelimiting.html
Copyright © 2011-2022 走看看