過去問ドリル

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

システムアーキテクチャ/柔軟性を高めるアーキテクチャパターン

モノリシックなシステムをマイクロサービスアーキテクチャへ移行するか検討している。マイクロサービスのメリット・デメリットに関する説明として適切でないものはどれか。

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

正解:D

解説

マイクロサービスは、サービスごとに独立した技術選択・スケーリング・デプロイができる点が主なメリットです。その代わり、機能間の呼び出しがネットワーク越しになるため、遅延・部分障害・タイムアウトといった分散システム特有の問題を扱う必要が生じます。データをサービスごとに分けると、単一データベースのトランザクションで済んでいた整合性をSagaなどで担保する必要もあります。運用・監視・試験の負担も増えるため、組織の規模やドメイン境界の明確さを踏まえて導入を判断します。

選択肢ごとの解説

  • A誤り(正しい記述)。独立したデプロイはマイクロサービスの代表的なメリットです。
  • B誤り(正しい記述)。サービス単位でスケーリングできるため、負荷の偏りに合わせて資源を配分できます。
  • C誤り(正しい記述)。データベースを分割すると分散トランザクションの問題が生じ、Sagaなどのパターンが必要になります。
  • D正しい(誤っている記述)。ネットワーク越しの呼び出しは遅延や部分障害の原因となり、障害点はむしろ増えます。複数サービスをまたぐ結合試験も難しくなります。
LinuCレベル4 システムアーキテクトの問題を演習モードで解く