Amazon SQS のキューあたりのメッセージ数の制限を調べたので、ご紹介します。
最大12万インフライトメッセージのようです。
キューには最大 120,000 のインフライトメッセージが存在できます (received from a queue by a consumer, but not yet deleted from the queue)。この制限に達した場合、Amazon SQS は OverLimit エラーメッセージを返します。
最大2万インフライトメッセージのようです。
キューには最大 20,000 のインフライトメッセージが存在できます (received from a queue by a consumer, but not yet deleted from the queue)。この制限に達した場合、Amazon SQS はエラーメッセージを返しません。
バッチ処理で、「外部 API へリクエストを送信する処理を 1000 メッセージ近く SQS の キュー1つに積みたい」という要件が発生して、「SQS のキューあたりの最大メッセージ数の上限に掛からないようにしないとな」と思い、調べたという背景です。
以上、SQS のキュー毎の最大メッセージ数が気になった、現場からお送りしました。