Amazon SQS - kin-kin/memo GitHub Wiki
AWS
Amazon SQS
- データを複数の場所にレプリケートする
- Producer=送信側、Consumer=受信側
- 1メッセージあたりの最大サイズは256KB
- 1APIリクエストあたりの最大メッセージ数は10件
- デフォルトでは4日間メッセージが保持される
- 60秒から14日間まで設定可能
- 処理されないメッセージはデッドレターキューに入る
- スタンダードキュー
- 同じメッセージが複数回配信される場合がある
- 可視性タイムアウトを使えば同じデータが取れないようになる
- 送信順序と配信順序が異なる可能性がある
- パフォーマンス面ではおすすめ
- FIFOキュー
- キューURL
- メッセージID
- 受信ハンドル
- キューからメッセージを受信するたびに発行される
- メッセージの削除や可視性の変更を要求する際に指定(= ロック)
- ショートポーリング
- デフォルトはショートポーリング
- 分散サーバのサブセットがサンプリングされ、サンプリングされたサーバからのみメッセージが返される
- ロングポーリング
- 利用推奨
- すべての分散サーバがサンプリングされる
- キューの設定で待機時間を0より大きくすればロングポーリングになる
- 遅延キュー
- 可視性タイムアウトとの違いは、メッセージが最初にキューに追加されたときに非表示になる
- 可視性タイムアウト
- メッセージが取得されてから一定時間、同じメッセージを他のシステムから取得できないようにブロックする(= 強制ロック解除時間)
- デッドレターキュー
- 処理できないメッセージを入れておくキュー
- デフォルトはOFF、回数を指定
References