CNode

关于调用第三方API接口服务的请求量限制问题

问答
SSoaringTiger发布于11 年前最后回复11 年前6 回复12596 浏览0 收藏

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

查看回复

回复 (6)

K
klesh#1·11 年前

做个计数器

G
gloomyzerg#2·11 年前

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

S
songqinghehe#3·11 年前
引用 klesh做个计数器

@klesh 计数器?

K
klesh#4·11 年前
引用 songqinghehe@klesh 计数器?

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

K
klesh#5·11 年前

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

S
SoaringTiger#6·11 年前

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

参与回复
登录后即可参与回复。登录