lusin
V2EX  ›  PHP

请问php程序如何避免超过亚马逊商品api每秒1次和每分钟2000次的限制呢?

  •  
  •   lusin · Jun 29, 2013 · 7665 views
    This topic created in 4877 days ago, the information mentioned may be changed or developed.
    访客的请求可能瞬间增加,如何不超过api的限制呢?
    15 replies  •  1970-01-01 08:00:00 +08:00
    dndx
    dndx
    Jun 29, 2013
    1
    如果大多数访客会访问重复的商品,缓存。

    否则只能找亚马逊提高限额。
    msg7086
    msg7086
    Jun 29, 2013
    2
    每秒1次,每分钟2000次,1分钟多少秒来着

    每秒1次,一天就能有几万次。商品才多少个……重复数据当然直接缓存。

    另外可以通过多个apikey和多个源IP来绕开限额
    lusin
    lusin
    OP
    Jun 29, 2013
    3
    @msg7086 不是一天几万不够用,是担心超限引起其它不必要的麻烦

    想知道,一秒内比如有五个访问,如何通过程序限定每秒调用一次,比如每次调用的时候设定一个时间戳,下次调用的时候如果未超过一秒就不调用
    zorceta
    zorceta
    Jun 29, 2013
    4
    @lusin 存队列 每隔一秒取队列执行
    jackyz
    jackyz
    Jun 29, 2013
    5
    比如,不用api?
    horsley
    horsley
    Jun 29, 2013
    6
    sleep 消息队列
    msg7086
    msg7086
    Jun 29, 2013
    7
    @lusin 考虑多买个IP来做balancing。另外超过的话应该就是返回错误代码吧,4xx或者5xx之类,应该不会有其他什么大问题。
    013231
    013231
    Jun 29, 2013
    8
    我不瞭解亞馬遜商品API, 不過我很好奇為什麼有每秒1次和每分鐘2000次這兩個限制. 有了每秒1次限制, 每分鐘限制應該<=60呀.
    yfdyh000
    yfdyh000
    Jun 29, 2013
    9
    存队列,延迟、合并请求。没用过,猜测楼主想说每分钟2000项。
    suren1986
    suren1986
    Jun 29, 2013
    10
    用redis实现一个锁,抓页面之前加锁,过期时间为1s。
    kepeng
    kepeng
    Jun 29, 2013
    11
    22
    otakustay
    otakustay
    Jun 30, 2013
    12
    如果只是单个页面,且不访问amazon接口这页面对用户来说没价值的话,外面nginx上做个throttle就搞定了

    如果是多个页面都用上amazon API,且没连上API这页面用户还是要看的话,在API级别上自己做throttle,这个比较麻烦,所以干脆再把这个API代理一下做成一个http service,再上nginx做throttle- -
    skydiver
    skydiver
    Jun 30, 2013 via Android
    13
    一天2000次吧……
    RelativeLayout
    RelativeLayout
    Jun 30, 2013 via Android
    14
    挂个goag……或者bae代理,然后模拟百度或者谷歌的爬虫。很多爬取问题迎刃而解。。
    jasontse
    jasontse
    Jun 30, 2013 via iPad
    15
    @lusin 加个并发锁然后缓存
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1298 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 19:24 · PVG 03:24 · LAX 11:24 · JFK 14:24
    ♥ Do have faith in what you're doing.