API 使用限制

Posted

技术标签:

【中文标题】API 使用限制【英文标题】:API Usage Limiting 【发布时间】:2015-08-21 10:54:46 【问题描述】:

是否有存储/限制 API 使用的最佳做法?我正在寻找使用 Laravel 构建基本 API,但在尝试限制日常 API 使用时,我陷入了最佳方法。

我是否在数据库中记录每个调用并使用它来汇总当天的 API 调用总数以确定是否已达到限制?并发 API 请求呢?如果我想限制每 5 秒 1 次 API 调用,是否最好进行数据库查询并确定?

任何建议将不胜感激!

【问题讨论】:

【参考方案1】:

这是我喜欢留给现有提供商的事情之一。

为简单起见,请在您的 API 前面放置一些内容,该 API 仅负责速率限制和控制 API 使用者。这通常通过某种 API 代理来完成。

3scale 是一个很好的解决方案。它实际上是带有一个模块的 nginx,用于完成所有繁重的工作。 http://www.3scale.net/ 它也很便宜(或根据您的负载免费)。

还有像 Mashery 这样的其他产品,但坦率地说,自从 Intel 收购它们后,我对 Mashery 的运气就很糟糕。 DNS解析问题、价格飞涨等

【讨论】:

以上是关于API 使用限制的主要内容,如果未能解决你的问题,请参考以下文章

使用 Azure 文本翻译 API 时如何处理限制?

限制Google API的Android密钥使用

如何使用谷歌地图 api 获得速度限制?

如何使用 api 网关限制资源访问

如何使用条带 API 检索客户总数(没有“限制”)

API 密钥 浏览器 API 密钥与此 API 一起使用时不能有引用者限制