1. 密結合な直接HTTP通信の脆さ
「注文確定」イベントが発生した際、注文サービスから「在庫サービス」「配送サービス」「メール通知サービス」「分析基盤」へ直接HTTPリクエストを投げると、どれか1つがダウンしただけで全体のトランザクションが失敗してしまいます。
2. SNSトピックから複数のSQSキューへのファンアウト
注文サービスはAmazon SNSトピックに「OrderCreated」メッセージを1回パブリッシュするだけ。SNSが各サブスクライバー(在庫用SQS、配送用SQS、メール用SQS)へメッセージを自動複製配送します。
3. デッドレターキュー(DLQ)とリトライポリシー
コンシューマー側で処理に失敗した場合、指数バックオフでリトライし、それでも失敗した場合はDLQに退避。システム障害が復旧した後にRedrive機能で安全に再処理します。