Simple Message Queue(SMQ、旧称 MNS) は、キューからメッセージを受信するための 2 つのポーリング方法を提供します。
ショートポーリング
ショートポーリングを使用するには、キューの作成時にロングポーリング期間を 0 に設定し、メッセージを受信するための API オペレーションを呼び出すときに
waitSecondsパラメーターを 0 に設定します。ショートポーリングを使用してキューからメッセージを受信する場合、SMQ クラスタのサーバーにリクエストが送信され、メッセージが存在するかどうかに関係なく、すぐにレスポンスが返されます。
ロングポーリング
ロングポーリングを使用するには、キューの作成時にロングポーリング期間を 0 より大きい値に設定します。または、メッセージを受信するための API オペレーションを呼び出すときに、
waitSecondsパラメーターを 0 より大きい値に設定します。ロングポーリング期間の最大値は 30 秒です。API リクエストのwaitSecondsパラメーターで指定されたロングポーリング期間は、キューに指定されたロングポーリング期間よりも優先されます。ロングポーリングを使用してキューからメッセージを受信する場合、サーバーにリクエストが送信され、メッセージが存在する場合にのみレスポンスが返されます。これにより、メッセージをすぐに受信できるようになり、無効なリクエストの送信を防ぐことができるため、リクエスト数が減り、コストを節約できます。
使用上の注意
メッセージを受信するために大量の API リクエストを送信しても、メッセージが存在しないことを示すレスポンスのみが返される場合は、ロングポーリング期間を長くしてリクエスト数を減らし、コストを節約することをお勧めします。