キューワーカー
メッセージキューからタスクを取り出して非同期に処理するバックグラウンドプロセス
非同期アーキテクチャ
キューワーカーとは
キューワーカーは、メッセージキュー (SQS) からタスクを取り出して非同期に処理するバックグラウンドプロセスである。API のレスポンスを高速化し、重い処理をバックグラウンドに逃がす。
同期処理 vs キューワーカー
同期処理:
API → 画像リサイズ (5秒) → レスポンス
→ ユーザーが 5 秒待つ
キューワーカー:
API → SQS にメッセージ送信 → レスポンス (即座)
SQS → Lambda (バックグラウンドで画像リサイズ)
→ ユーザーは待たない
ユースケース
| ユースケース | 構成 |
|---|---|
| 画像・動画処理 | API → SQS → Lambda |
| メール送信 | API → SQS → Lambda → SES |
| データ変換 | S3 → SQS → Lambda → S3 |
| 注文処理 | API → SQS → Step Functions |
SQS vs EventBridge
| 観点 | SQS | EventBridge |
|---|---|---|
| パターン | キュー (1 対 1) | イベントバス (1 対多) |
| 順序保証 | FIFO キューで保証 | なし |
| リトライ | 自動 (VisibilityTimeout) | DLQ |
| 用途 | バックグラウンド処理 | イベント駆動 |
実践的な知識は関連書籍でも得られる。