亚马逊sqs与自定义实施

时间:2011-07-18 10:22:13

标签: web-services amazon-web-services synchronization amazon-sqs amazon-sns

我们需要在不同的Web服务器之间同步数据。这个想法非常基础:当在一个服务器上创建一个实体时,应将其发送到所有其他服务器。什么是正确的方法呢?我们目前正在评估两种方法:亚马逊的sqs和sns服务以及带有一些键值数据库的自定义实现(如memcached和memqueue)。自定义实现的常见缺陷是什么?任何反馈都将受到高度赞赏。

1 个答案:

答案 0 :(得分:2)

如果为每个服务器创建一个新队列并将数据写入每个队列,则SQS可以正常工作。最大的缺点是你需要每个服务器轮询新消息。

SNS可以更有效地工作,因为它允许您向多个位置广播消息。然而,这是一次尝试;如果机器在SNS发送时无法收到通知,SNS将不再尝试。

您没有指定要发送的邮件数量或性能要求,但任何SQS / SNS系统都可能会慢得多(主要是由于发送邮件和接收邮件的服务器之间的延迟)本地memcache /键值服务器解决方案。

混合解决方案是使用持久性存储(如SimpleDB)并使用SNS向服务器发出新数据可用的警报。