インスピレーションと洞察から生成されました 12 ソースから
はじめに
-
可視性タイムアウト: Amazon SQSの可視性タイムアウトは、メッセージがキューから受信された後、他のコンシューマーから見えなくなる期間を指します。この期間内にメッセージを処理して削除しない場合、メッセージは再びキューに戻ります。
-
デッドレターキュー: デッドレターキューは、処理に失敗したメッセージを別のキューに移動させる機能です。これにより、メッセージの再処理や分析が可能になります。
-
可視性タイムアウトの設定: デフォルトでは30秒に設定されていますが、1秒から12時間まで変更可能です。メッセージの処理時間に応じて適切に設定することが重要です。
-
デッドレターキューの設定: デッドレターキューを設定するには、まず新しいキューを作成し、ソースキューと同じAWSアカウントとリージョン内に保持することが推奨されます。
-
リドライブポリシー: デッドレターキューに移動する前にメッセージが受信できる回数を指定するmaxReceiveCountを設定できます。
可視性タイムアウトの詳細 [1]
-
デフォルト設定: 可視性タイムアウトはデフォルトで30秒に設定されています。
-
最大時間: 最大12時間まで設定可能です。
-
メッセージ処理: メッセージを受信したら、可視性タイムアウト内に削除する必要があります。
-
再試行: 可視性タイムアウトが切れると、メッセージは再び他のコンシューマーに見えるようになります。
-
FIFOキュー: FIFOキューでは、メッセージの順序が保証されます。
デッドレターキューの詳細 [2]
-
目的: 処理に失敗したメッセージを保存し、後で分析や再処理を行うために使用されます。
-
設定: デッドレターキューを設定するには、まず新しいキューを作成する必要があります。
-
ベストプラクティス: ソースキューと同じAWSアカウントとリージョン内に保持することが推奨されます。
-
リドライブポリシー: maxReceiveCountを設定して、メッセージがデッドレターキューに移動する前に受信できる回数を指定します。
-
メッセージ保持期間: デッドレターキューの保持期間は、元のキューの保持期間よりも長く設定することが推奨されます。
設定方法 [3]
-
可視性タイムアウトの設定: Amazon SQSコンソールを使用して、キューの可視性タイムアウトを設定できます。
-
デッドレターキューの設定: 新しいキューを作成し、デッドレターキューとして設定します。
-
リドライブポリシーの設定: maxReceiveCountを設定して、メッセージがデッドレターキューに移動する前に受信できる回数を指定します。
-
CloudWatchアラーム: デッドレターキューに移動されたメッセージのアラームを設定することができます。
-
メッセージ保持期間の設定: デッドレターキューの保持期間を、元のキューの保持期間よりも長く設定します。
ベストプラクティス [4]
-
可視性タイムアウトの適切な設定: メッセージの処理時間に応じて、可視性タイムアウトを適切に設定します。
-
デッドレターキューの利用: メッセージの処理でエラーが発生した場合、デッドレターキューにリダイレクトして再処理を容易にします。
-
ロングポーリングの有効化: メッセージの到着を待つことで、空のレスポンスを減らします。
-
バッチ処理の利用: 一度に複数のメッセージを送受信することで、レイテンシーやオーバーヘッドを減らします。
-
メッセージ属性やフィルタリングの活用: メッセージの内容や処理方法を制御するために活用します。
関連機能 [5]
-
ロングポーリング: メッセージがキューに到着するまで待機する機能で、空のレスポンスを減らします。
-
バッチ処理: 一度に複数のメッセージを送受信する機能で、スループットを向上させます。
-
メッセージ属性: メッセージに付加するメタデータで、受信者がメッセージの内容や処理方法を判断できます。
-
メッセージフィルタリング: メッセージ属性に基づいて、メッセージを受信するかどうかを決める機能です。
-
メッセージ保持期間: メッセージがキューに保持される期間を設定できます。
関連動画
<br><br>
<div class="-md-ext-youtube-widget"> { "title": "AWS SQS | SQS Architecture | Visibility Timeout | Dead Letter ...", "link": "https://www.youtube.com/watch?v=_gpOHGnoq_o", "channel": { "name": ""}, "published_date": "Jul 12, 2020", "length": "22:41" }</div>
<div class="-md-ext-youtube-widget"> { "title": "AWS SQS Visibility Timeout Explained in 10 Minutes", "link": "https://www.youtube.com/watch?v=uY5PYGad8Sc", "channel": { "name": ""}, "published_date": "Dec 21, 2020", "length": "9:09" }</div>
<div class="-md-ext-youtube-widget"> { "title": "SQS - Visibility Timeout", "link": "https://www.youtube.com/watch?v=OAy6FgKO1TI", "channel": { "name": ""}, "published_date": "Nov 19, 2019", "length": "1:19" }</div>