1

異なるWebサーバー間でデータを同期する必要があります。このアイデアは非常に基本的なものです。あるエンティティが1つのサーバー上に作成されるとき、それは他のすべてのサーバーに送信されるべきです。それを行う正しい方法は何ですか?私たちは現在、amazonのsqとsnsサービスと、いくつかのキーバリューデータベース(memcachedやmemqueueなど)を使ったカスタム実装の2つのアプローチを評価しています。カスタム実装の一般的な落とし穴は何ですか?どんなフィードバックも高く評価されます。Amazon sqsとカスタム実装

答えて

2

各サーバーに新しいキューを作成し、各キューにデータを書き込むと、SQSは正常に機能します。最大の欠点は、新しいメッセージをポーリングするために各サーバーが必要になることです。それはあなたが複数の場所にメッセージをブロードキャストすることができますので、

SNSは、より効率的に働くだろう。しかし、これはワンショット試行です。 SNSがそれを送信したときに機械がその通知を受信できない場合にはSNSが再度試してません。

送信しているメッセージの数やパフォーマンス要件は指定していませんが、SQS/SNSシステムの方がはるかに遅くなります(ほとんどの場合、メッセージを送信してから受信するまでの待ち時間のためです)次にローカルのMemcache/Key-Valueサーバーソリューション。

混合溶液(SimpleDBのような)永続ストアを使用して、新しいデータが利用可能であるサーバに警告するためにSNSを使用することです。

関連する問題