SkillStack
テクノロジ系3 / 25問

システムアーキテクト試験 令和6年度 春期 午前II 問3

マイクロサービスアーキテクチャを採用してアプリケーションソフトウェアを設計している。障害発生による影響の範囲を局所化してシステム全体への波及を抑えるために、マイクロサービスへリクエストを送ったときのエラーが、あらかじめ設定している回数を超えた場合に、障害が解消するまでは、リクエストを送らない方式とする。この方式を何と呼ぶか。

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ウ

サーキットブレーカーは、あるサービスへの要求が一定回数以上失敗したときに、そのサービスへの呼出しを一時的に遮断する方式です。正常時の閉状態から、失敗がしきい値を超えると開状態へ移り、要求を送らず直ちにエラーを返します。一定時間後には半開状態で試験的に要求を送り、成功すれば閉状態へ戻します。障害中のサービスに要求を送り続けないため、待ち時間や資源消費を減らし、障害がほかのサービスへ連鎖することを防げます。したがって、ウが正解です。

アのCQRSは誤りです。CQRSは、データを更新するコマンド側と、データを参照するクエリ側の責務やモデルを分離する設計方式です。障害時に呼出しを遮断する仕組みではありません。

イのRPCは誤りです。RPCは、ネットワーク上の別プロセスにある手続やメソッドを、ローカルの処理のように呼び出すための遠隔手続呼出しです。サービス間通信の手段であり、失敗回数による遮断方式ではありません。

エのサービスディスカバリーは誤りです。これは、動的に増減したり配置が変わったりするサービスの接続先を登録し、呼出し側が検索できるようにする仕組みです。

【ポイント】 サーキットブレーカーでは、閉、開、半開という状態の変化を押さえます。 タイムアウトや回数制限付きのリトライと組み合わせますが、過剰な再試行は障害を拡大させることがあります。 障害の波及防止策として、処理資源を分離するバルクヘッドも併せて覚えましょう。

出典:令和6年度 春期 システムアーキテクト試験 午前II 問3
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める