BFF とバックエンド API間の障害対処がこの章の対象範囲
設計上のあるべき姿 — 各サービスの成功・失敗を個別に判定し、失敗した部分だけを代替値に置き換える
Promise.allSettled を使うと、すべての完了を待ちつつ個別の結果を受け取れる
1つの Promise が失敗したときの挙動の違い
障害サービスの部分を代替値で埋めた縮退レスポンスの流れ
実行するコマンド
※ Windows(PowerShell)では curl を curl.exe に読み替えてください
$ curl \"http://localhost:3000/api/dashboard?userId=1\"
BFF とバックエンド API間の障害対処がこの章の対象範囲(再掲)
$ docker compose stop notification$ curl \"http://localhost:3000/api/dashboard?userId=1\"
Promise.allSettled の結果から成功・失敗を判定し、失敗時は代替値を返す
サーキットブレーカの3つの状態と遷移
AbortSignal.timeout で制限時間を設定する fetch のラッパー関数
$ docker compose stop notification
$ DELAY_MS=5000 docker compose up -d notification
$ $env:DELAY_MS="5000"; docker compose up -d notification
$ curl \"http://localhost:3000/api/dashboard?userId=1\"