关于调用第三方API接口服务的请求量限制问题
发布于 10 年前 作者 SoaringTiger 11409 次浏览 最后一次编辑是 8 年前 来自 问答

在调用第三方API服务的时候通常会有请求量的限制,比如每秒限制100次请求,每小时限制100000次请求,如果超过请求数量就会被暂停服务,怎样控制自己的程序不超过限额呢?

6 回复

做个计数器

nginx 本身就有这功能 自豪地采用 CNodeJS ionic

@songqinghehe 可以做个 array,每访问一API,压入当前的时间戳,再把早于一小时之前的元素 shift 掉,当前的 length 就是一小时的访问量。再从尾部往前遍历,计算最近1秒的数量。

上面的只是控制部分,并不能解决真正的问题。实际上要尽量优化减少 api 调用,可以缓存的数据缓存起来,实在访问很高,说明你的产品很受欢迎,这时候可以去跟 api 提供者商讨提高你的限额。

@klesh 缓存确实是我目前准备采用的解决方案; 另外我还打算再多申请几个apiKey,一个额度快用完了就调用另一个。

回到顶部