インスピレーションと洞察から生成されました 12 ソースから

img6

img7

img8

img9

img10

img11

はじめに

  • 可視性タイムアウト: Amazon SQSの可視性タイムアウトは、メッセージがキューから受信された後、他のコンシューマーから見えなくなる期間を指します。この期間内にメッセージを処理して削除しない場合、メッセージは再びキューに戻ります。

  • デッドレターキュー: デッドレターキューは、処理に失敗したメッセージを別のキューに移動させる機能です。これにより、メッセージの再処理や分析が可能になります。

  • 可視性タイムアウトの設定: デフォルトでは30秒に設定されていますが、1秒から12時間まで変更可能です。メッセージの処理時間に応じて適切に設定することが重要です。

  • デッドレターキューの設定: デッドレターキューを設定するには、まず新しいキューを作成し、ソースキューと同じAWSアカウントとリージョン内に保持することが推奨されます。

  • リドライブポリシー: デッドレターキューに移動する前にメッセージが受信できる回数を指定するmaxReceiveCountを設定できます。

可視性タイムアウトの詳細 [1]

  • デフォルト設定: 可視性タイムアウトはデフォルトで30秒に設定されています。

  • 最大時間: 最大12時間まで設定可能です。

  • メッセージ処理: メッセージを受信したら、可視性タイムアウト内に削除する必要があります。

  • 再試行: 可視性タイムアウトが切れると、メッセージは再び他のコンシューマーに見えるようになります。

  • FIFOキュー: FIFOキューでは、メッセージの順序が保証されます。

デッドレターキューの詳細 [2]

  • 目的: 処理に失敗したメッセージを保存し、後で分析や再処理を行うために使用されます。

  • 設定: デッドレターキューを設定するには、まず新しいキューを作成する必要があります。

  • ベストプラクティス: ソースキューと同じAWSアカウントとリージョン内に保持することが推奨されます。

  • リドライブポリシー: maxReceiveCountを設定して、メッセージがデッドレターキューに移動する前に受信できる回数を指定します。

  • メッセージ保持期間: デッドレターキューの保持期間は、元のキューの保持期間よりも長く設定することが推奨されます。

img6

img7

img8

設定方法 [3]

  • 可視性タイムアウトの設定: Amazon SQSコンソールを使用して、キューの可視性タイムアウトを設定できます。

  • デッドレターキューの設定: 新しいキューを作成し、デッドレターキューとして設定します。

  • リドライブポリシーの設定: maxReceiveCountを設定して、メッセージがデッドレターキューに移動する前に受信できる回数を指定します。

  • CloudWatchアラーム: デッドレターキューに移動されたメッセージのアラームを設定することができます。

  • メッセージ保持期間の設定: デッドレターキューの保持期間を、元のキューの保持期間よりも長く設定します。

img6

ベストプラクティス [4]

  • 可視性タイムアウトの適切な設定: メッセージの処理時間に応じて、可視性タイムアウトを適切に設定します。

  • デッドレターキューの利用: メッセージの処理でエラーが発生した場合、デッドレターキューにリダイレクトして再処理を容易にします。

  • ロングポーリングの有効化: メッセージの到着を待つことで、空のレスポンスを減らします。

  • バッチ処理の利用: 一度に複数のメッセージを送受信することで、レイテンシーやオーバーヘッドを減らします。

  • メッセージ属性やフィルタリングの活用: メッセージの内容や処理方法を制御するために活用します。

img6

関連機能 [5]

  • ロングポーリング: メッセージがキューに到着するまで待機する機能で、空のレスポンスを減らします。

  • バッチ処理: 一度に複数のメッセージを送受信する機能で、スループットを向上させます。

  • メッセージ属性: メッセージに付加するメタデータで、受信者がメッセージの内容や処理方法を判断できます。

  • メッセージフィルタリング: メッセージ属性に基づいて、メッセージを受信するかどうかを決める機能です。

  • メッセージ保持期間: メッセージがキューに保持される期間を設定できます。

img6

img7

関連動画

<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>