Steam OverPrice API调用访问限制解决思路

我打算做一个社区物品价格的统计,详情可以看这里Steam.im

经过抓包(console大法)

Steam有这样一个公开的API可以在不登录的情况下查询社区物品的价格

返回内容:

但是在经过一番调试过后,发现这个API是有调用限制的,限制大概在 10次/分钟 左右,而且触发调用限制之后,起码会有几个小时的时间是返回null的,这就对网站的可用性有很严重的影响

于是我在想是不是可用对API返回的内容进行缓存。但是在缓存后,一些社区物品较多的玩家一拉取信息,API的并发量就会很大,就会触发Steam的API调用限制。

我问朋友,朋友说用多个服务器来请求API。想一想,这样搞麻烦而且没钱又上不了多少台机子。

于是萌生了一个点子,用HTTP代理进行拉取API信息。然后缓存在memcache中,缓存时间6小时。

HTTP代理信息用文件以json格式存储在本地,代理信息使用Node.JS在免费代理的网站上拉取,一天更新一次,并且在每次拉取API信息时检测代理可用性,不可用直接在代理列表中删除。

分享到:

3 条评论

昵称
  1. 屌炸天

    新春佳节到。祝好!祝好!

    1. 很懒的樱花

      拟好呀

  2. xema

    萌生???好像没什么毛病