我相信亚马逊Simple DB的最大PUT请求是300?
当我向它发出500或1,000个请求时会发生什么?它是在亚马逊方面排队,我得到504's还是我应该在EC2上建立自己的排队服务器?
最大请求量不是固定数量,而是多种因素的组合.有一个每域限制策略,但似乎有一些空间在限制攻击之前突发请求.此外,每个SimpleDB节点处理许多域,每个域由多个节点处理.处理请求的节点上的负载也会影响您的最大请求量.因此,您可以在非高峰时段获得更高的吞吐量(通常).
如果您发送的请求多于SimpleDB愿意或能够服务的请求,您将获得503 HTTP代码.503服务不可用的响应是正常的,应该重试.SimpleDB中没有请求排队.
如果您想获得绝对最大可用吞吐量,您必须能够(或具有可以的SimpleDB客户端)微管理您的请求传输速率.当503响应率达到大约10%时,您必须退回请求卷,然后重新构建它.此外,跨多个域传播请求是扩展的主要方法.
我不建议在EC2上构建自己的排队服务器.我会尝试让SimpleDB直接处理请求量.额外的一层可以使事情变得平滑,但它不会让你处理更高的负荷.