ホーム > システムアーキテクト試験 > 2024年
システムアーキテクト試験 2024年 午前2 問03
マイクロサービスアーキテクチャを採用してアプリケーションソフトウェアを設計している。障害発生による影響の範囲を局所化してシステム全体への波及を抑えるために、マイクロサービスへリクエストを送ったときのエラーが、あらかじめ設定している回数を超えた場合に、障害が解消するまでは、リクエストを送らない方式とする。この方式を何と呼ぶか。
ア:CORS
イ:RPC
ウ:サーキットブレーカー(正解)
エ:サービスディスカバリー
解説
マイクロサービスの障害波及防止方式とは【午前2 解説】
要点まとめ
- 結論:障害の影響を局所化しシステム全体への波及を防ぐ方式は「サーキットブレーカー」です。
- 根拠:一定回数のエラー発生後にリクエストを遮断し、障害回復まで通信を停止する仕組みだからです。
- 差がつくポイント:単なる通信方式や認証ではなく、障害検知と自動遮断を組み合わせた耐障害性の設計手法である点を理解しましょう。
正解の理由
「サーキットブレーカー」は、マイクロサービス間の通信でエラーが一定回数続いた場合に、リクエストを遮断して障害の波及を防ぐパターンです。これにより、障害が発生したサービスへの過剰なリクエストを止め、システム全体の安定性を保ちます。問題文の「設定した回数を超えた場合にリクエストを送らない方式」に完全に合致するため、正解はウ: サーキットブレーカーです。
よくある誤解
CORSはブラウザのセキュリティ制御であり、障害波及防止とは無関係です。RPCは通信方式の一種で、障害検知や遮断機能は含みません。
解法ステップ
- 問題文の「障害発生による影響の範囲を局所化」「リクエストを送らない方式」に注目する。
- 選択肢の意味を整理し、障害波及防止に関係する用語を探す。
- 「サーキットブレーカー」が障害検知と通信遮断を組み合わせた設計パターンであることを確認。
- 他の選択肢が障害波及防止の説明に合致しないことを確認し、正解を決定する。
選択肢別の誤答解説
- ア: CORS
ブラウザのクロスオリジンリクエスト制御機能であり、障害検知やリクエスト遮断とは無関係です。 - イ: RPC
リモートプロシージャコールの略で、通信方式の一つ。障害時のリクエスト遮断機能は含みません。 - ウ: サーキットブレーカー
正解。障害が一定回数発生した場合にリクエストを遮断し、波及を防ぐ設計パターンです。 - エ: サービスディスカバリー
マイクロサービスの位置情報を管理し動的にサービスを見つける仕組みで、障害波及防止とは異なります。
補足コラム
サーキットブレーカーは電気回路のヒューズに例えられ、マイクロサービスの耐障害性を高める重要な設計パターンです。NetflixのHystrixなどのライブラリで実装され、障害時の自動復旧やフォールバック処理も組み込めます。
FAQ
Q: サーキットブレーカーはどのように障害を検知しますか?
A: 一定期間内のエラー回数やタイムアウトを監視し、閾値を超えた場合に回路を遮断します。
A: 一定期間内のエラー回数やタイムアウトを監視し、閾値を超えた場合に回路を遮断します。
Q: サーキットブレーカーが動作中はどうなりますか?
A: リクエストは遮断され、障害が解消されるまで送信されません。復旧後は試験的にリクエストを再開します。
A: リクエストは遮断され、障害が解消されるまで送信されません。復旧後は試験的にリクエストを再開します。
関連キーワード: マイクロサービス, サーキットブレーカー, 障害波及防止, 耐障害性, フォールトトレランス, Hystrix, 障害検知