🖥

#AWS SQS の可視性タイムアウトとは何なのか?トランザクションのロックに近いイメージなのかもしれない。

に公開

言葉が死ぬほどわかりづらいが、そんな気がする。

Amazon SQS 可視性タイムアウト - Amazon Simple Queue Service

メッセージが受信された直後は、メッセージはキューに残ったままです。他のコンシューマーが同じメッセージを再び処理しないように、Amazon SQS は可視性タイムアウトを設定しています。この時間内では、他のコンシューマーによる同じメッセージの受信と処理が防止されます。

ただし、コンシューマーでメッセージを削除する前に障害が発生して、DeleteMessage アクションが呼び出されないまま可視性タイムアウトの期限が切れると、そのメッセージは他のコンシューマーに見えるようになり、再度受信されます。メッセージを一度だけ受信する必要がある場合、コンシューマーは可視性タイムアウトの時間内にメッセージを削除する必要があります。

何のために必要なの?

一定時間したら、なんども処理させる、というようなことが可能なのだろうか?

ただし、コンシューマーでメッセージを削除する前に障害が発生して、DeleteMessage アクションが呼び出されないまま可視性タイムアウトの期限が切れると、そのメッセージは他のコンシューマーに見えるようになり、再度受信されます。

Original by Github issue

https://github.com/YumaInaura/YumaInaura/issues/2455

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2019-09-16

Discussion