あるECサイトはREST APIを通じて注文を受け付け、在庫更新・決済処理・確認メール送信を行います。セール期間中、決済処理サービスが過負荷になり注文の失敗と消失が発生しています。すべての注文を確実に保持しつつピーク時の負荷に対応するアーキテクチャとして最適なものはどれですか?
SQS を介した非同期処理により、注文受付と決済処理を疎結合にできます。ピーク時にキューが蓄積しても注文データは失われず(SQS は最大14日間メッセージを保持)、キューの深さに基づくオートスケーリングで決済サービスが需要に追従します。 選択肢AのALB + EC2は過負荷時に注文が拒否・消失するリスクがあります。 選択肢Cの決済データのキャッシュは最新性が保証されず不正確な処理につながります。 選択肢DのLambda の予約済み同時実行数の制限は突発的な超ピーク時に注文をキューイングせず失います。