令和6年秋期試験問題 午前問47

マイクロサービスアーキテクチャを利用するとき,システム構築上の利点はどれか。

  • 各サービスが使用する,プログラム言語,ライブラリ及びミドルウェアを統一しやすい。
  • 各サービスが保有するデータの整合性を確保しやすい。
  • 各サービスの変更がしやすい。
  • 各サービスを呼び出す回数が減るので,オーバーヘッドが削減できる。
正解 問題へ
分野 :テクノロジ系
中分類:システム開発技術
小分類:システム方式設計
解説
マイクロサービスアーキテクチャは、システムをそれぞれ独立した小さなサービスの集合として設計する方法です。各サービスは特定の機能に特化したものして設計され、独立してデプロイされます。また、独自のデータベースや技術スタックを使用することも可能です。AmazonやNetflix、Uberのような大規模システムで効果を発揮しているソフトウェアのアーキテクチャです。

マイクロサービスアーキテクチャには次のような利点があります。
  • 異なるチームが並行して開発作業がしやすい
  • 問題が他のサービスに波及しにくい
  • 特定のサービスのスケールアップや変更が容易にできる
一方で、全体的な運用管理が複雑化し、サービス間の通信に伴うパフォーマンス低下や、各サービスがデータを管理することにより一貫性の維持が難しくなるといった課題も存在します。そのため、導入には高度な設計能力と運用スキルが求められます。

なお、マイクロサービスアーキテクチャに対して、システムを1つの大きなコードベースで構築する従来型の方法をモノリシックアーキテクチャといいます。
  • モノリシックアーキテクチャの特徴です。マイクロサービスアーキテクチャでは、各サービスが独立して設計・開発されるため、プログラム言語やライブラリ、ミドルウェアを統一する必要はありません。
  • マイクロサービスアーキテクチャでは、データを各サービスが独自に保有する(データベースの分離)ため、全体として整合性を確保するには、分散トランザクションや整合性の確保に関する仕組みが必要であり、単一データベースである場合よりも複雑になります。
  • 正しい。各サービスは独立した開発とデプロイが可能な設計思想に基づいており、特定のサービスの変更が他のサービスに影響を与えにくい構造をもちます。変更が必要な場合には原則として対象となるサービスのみを改修すればよいため、変更の柔軟性は高いと言えます。
  • マイクロサービスアーキテクチャではサービス間通信が多く発生するため、それが原因でネットワークのオーバーヘッドが増加し、パフォーマンスに影響を与える場合があります。

Pagetop