【发布时间】:2022-11-13 12:11:27
【问题描述】:
我有一个基于 RapidAPI 的一些 API 的 Web 项目。此 API 有 10 个请求/秒的速率限制。对此 API 的所有请求都由服务器端使用带有 Rest 框架库的 Django 处理。前端基于Vue。所以这是一种简单的网络应用程序。
问题是我需要以某种方式对来自网站用户的所有请求进行排队以不超过 rapidapi 速率限制,因为如果我这样做 - 某些页面将不会加载某些内容,因为 api 返回 429 错误。
通常它发生在某些组件需要从 3+ 个不同的 api 端点加载数据时。这也与我们有例如 10 个在线用户正在积极点击需要获取一些数据的页面组件的情况有关,所以我想找到一些方法来解决它。
任何意见,将不胜感激
【问题讨论】:
-
您可以在此处使用断路器模式。这个库在这里很有用:pypi.org/project/circuitbreaker
标签: django django-rest-framework rate-limiting