過去問ドリル

LinuCレベル4 システムアーキテクト システムアーキテクチャ 問12

システムアーキテクチャ/アーキテクチャの設計原則と主要パターン

業務システムを複数のサブシステムに分け、サブシステム間の呼び出しを同期にするか非同期にするかを検討している。比較の説明として適切でないものはどれか。

当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「システムアーキテクチャ」に対応。実際の試験問題ではありません)

正解:C

解説

同期呼び出しは呼び出し先の処理完了を待つため、呼び出し先が止まれば呼び出し元の処理も止まります。そのため同期でつないだサブシステム同士は稼働時間帯をそろえる必要があり、片方だけを計画停止するのは難しくなります。非同期連携(特にキューを介した連携)は両者の稼働を時間的に切り離せるため、保守や一時的な障害に強くなる一方、結果の受け取り方や処理状態の管理といった設計の手間が増えます。利用者に結果を即答する必要があるか、処理の遅れを許容できるかで方式を選びます。

選択肢ごとの解説

  • A誤り(正しい記述)。同期呼び出しでは各呼び出し先の可用性が掛け合わされるため、直列につなぐ数が増えるほど全体の可用性は下がりやすくなります。
  • B誤り(正しい記述)。非同期では要求を受け付けた時点で結果が確定しないため、完了の通知や状態の問い合わせの仕組みと、要求ごとの状態管理が必要になります。
  • C正しい(誤っている記述)。同期呼び出しは呼び出し先が稼働していることを前提とするため、両者の稼働時間帯をそろえる必要があります。稼働を切り離して片方だけを止めやすくなるのは非同期連携の特徴です。
  • D誤り(正しい記述)。キューが要求を保持するため、呼び出し先の停止中も呼び出し元は受け付けを続けられ、回復後に順次処理できます。負荷の平準化にも使われます。
LinuCレベル4 システムアーキテクトの問題を演習モードで解く