キューワーカー

メッセージキューからタスクを取り出して非同期に処理するバックグラウンドプロセス

非同期アーキテクチャ

キューワーカーとは

キューワーカーは、メッセージキュー (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
用途 バックグラウンド処理 イベント駆動

実践的な知識は関連書籍でも得られる。

関連用語