Web services AmazonSQS与定制实现

Web services AmazonSQS与定制实现,web-services,amazon-web-services,synchronization,amazon-sqs,amazon-sns,Web Services,Amazon Web Services,Synchronization,Amazon Sqs,Amazon Sns,我们需要在不同的web服务器之间同步数据。这个想法非常基本:当一个实体在一台服务器上创建时,它应该被发送到所有其他服务器。正确的方法是什么?我们目前正在评估两种方法:amazon的sqs和sns服务,以及使用一些键值数据库(如memcached和memqueue)的定制实现。自定义实现的常见陷阱是什么?非常感谢您的反馈。如果您为每台服务器创建一个新队列并将数据写入每个队列,SQS将正常工作。最大的缺点是需要每个服务器轮询新消息 SNS将更有效地工作,因为它允许您将消息广播到多个位置。然而,这只是

我们需要在不同的web服务器之间同步数据。这个想法非常基本:当一个实体在一台服务器上创建时,它应该被发送到所有其他服务器。正确的方法是什么?我们目前正在评估两种方法:amazon的sqs和sns服务,以及使用一些键值数据库(如memcached和memqueue)的定制实现。自定义实现的常见陷阱是什么?非常感谢您的反馈。

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

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

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

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