1

新しいメッセージを定期的にポーリングする必要がないSQSのPhpコンシューマーを作成する方法はありますか?

私がこれまでに見つけたメッセージを消費する唯一の方法は、receive_message()定期的なポーリングを使用して実行する必要があるapi呼び出しを使用してメッセージを取得することです。

それは動作するはずですが、それでも間違っているようです。

4

2 に答える 2

5

これは本当に古い質問ですが、将来の読者のためにこれを指摘したかっただけです。

SQSはポーリングを目的としていますが、プッシュソリューションが必要な場合は、実際にAWS SQSパネルで[キューオプション]を選択し、[SNSトピックにサブスクライブ]を選択できます。

明らかに、これを行う前にSNSトピックを作成してください。イベントが発生するたびにURLにリクエストを自動的に送信するようにトピックを設定できます。これにより、基本的にこれがプッシュに変わります。

頑張ってください!

于 2013-03-21T03:52:11.450 に答える
2

SQS を非常にうまく拡張できる魔法は、他のメッセージ パッシング システムに比べて機能がほとんどないことです。ユーザーは次のことを行う必要があります。メッセージをポーリングします。順不同で配信されるメッセージに対処します。複数回配信されるメッセージを処理します。メッセージ配信でときどき発生する非常に大きなレイテンシ (50 秒など) に対処します。

特定のタスクには最適ですが、他のタスクにはまったく使用できません。私はそれをそうではないものにするためにあまりにも長い時間を費やしました、そして私はAmazonが彼らのドキュメントでそれが何であるかだけでなく何がそうでないかについてあなたに警告するためにもっと明確であるべきだと本当に思います. 私は最終的にRabbitMQにたどり着き、これ以上ないほど幸せになりました-しかし、はい、それをスケーリングする必要があるポイントがあります.

于 2012-10-03T16:20:48.557 に答える