😺
AWS SQS
はじめに
個人の備忘録です
SQS
- 基本キューを作成した際に、細かい設定をしておきます
キューの属性
- デフォルトの可視性タイムアウト
- メッセージ保持期間
- 最大メッセージサイズ
- 配信遅延
- メッセージ受信待機時間ReceiveMessageWaitTimeSeconds
- 0ならショートポーリング、1s以上ならロングポーリング
sqs = boto3.resource('sqs')
queue = sqs.get_queue_by_name(QueueName=queue_name)
response = queue.send_messages(Entries=entries)
DLQの設定 ( 同時にできるみたい )
- 再処理ポリシーの使用
- 最大受信数
lambda + SQS
- lambdaの設定の際に、SQSを指定する
- SQSキュー
- バッチサイズ
- lambda側でキューを消す作業必要?
- ジョブの管理等はSQS側
fargate + SQS
- fargateで10sおきとかに取りに行くコードを書くべき?
- SQS.Queue.receive_messages()
- https://qiita.com/kazunobo/items/0abd2e53afc154e96992
- fargateでポーリングの処理を書かなきゃだめ
- SQSは決してメッセージをどこかに「プッシュ」するのではなく、「プル」するサービスなのです。
- ECSに移行する際には、処理するメッセージをSQSにポーリングするようにコードを変更する必要があります。一般的にこれを設定する方法は、コンテナとして生成されたときに、単に永遠にSQSキューをポーリングし、受け取ったメッセージを処理するDockerイメージを持つことです
- SQSキュー内のメッセージ数に基づいてECSの自動スケーリングを設定します。
これ読む ( fargateのdeploy
Discussion