【问题标题】:What are common ways of implementing web API request throttling/rate-limiting?实现 Web API 请求限制/速率限制的常用方法是什么?
【发布时间】:2011-01-20 14:14:02
【问题描述】:

实现 Web API 请求限制的常用方法有哪些?是否有任何适用于常见 Web 框架(Rails、Django、Java 等)的库可以为您提供此功能以及临时禁止功能?

一个相关问题表明,速率限制是通过限制 IP 请求在网络服务器上完成的,但这意味着所有请求都得到同等对待。似乎需要由应用程序处理限制,因为:

  1. 某些 API 调用可能有不同的速率限制(例如,自动完成 API 的限制比其他调用更高)
  2. Web 服务器无法处理 API 密钥的临时禁止
  3. 来自代理后面的请求被视为相同 (?)

相关问题:hereherehere

【问题讨论】:

    标签: ruby-on-rails django api throttling


    【解决方案1】:

    您可能还想使用 IPtables (linux) 等工具来硬限制一些传入流量。还有第三方服务,如 3scale (http://www.3scale.net - 免责声明 - 我为他们工作 :-) ) 允许跟踪和管理您希望基于每个用户应用于流量的所有使用限制。

    【讨论】:

      【解决方案2】:

      Django-Piston 有一些巧妙的节流功能。查看来源http://bitbucket.org/jespern/django-piston/wiki/Home

      【讨论】:

        猜你喜欢
        • 2010-11-29
        • 2012-12-29
        • 1970-01-01
        • 1970-01-01
        • 2015-08-13
        • 1970-01-01
        • 2013-12-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多