lusin
V2EX  ›  PHP

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

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

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

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

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

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

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