Qraft(クラフト) 資格・学習クイズアプリ

基本情報技術者試験 練習問題 20:マイクロサービスとモノリシックアーキテクチャの比較

マイクロサービスアーキテクチャについて述べた文として、正しいものはどれか。

  1. マイクロサービスアーキテクチャは複数の小さく独立したサービスに分割し、各サービスが自律的にデプロイ・スケーリングできる。
  2. マイクロサービスアーキテクチャはサービス間の結合度を高めることで、統合テストを簡素化する。
  3. マイクロサービスでは異なるプログラミング言語を使用することは許されず、すべてのサービスが同じ言語である必要がある。
  4. マイクロサービスは常にモノリシックアーキテクチャより優れており、すべての新規プロジェクトで採用されるべきである。
  5. マイクロサービスでのサービス間通信ではメッセージキューやRESTful APIが一般的に使用される。

Qraftユーザーの成績:難易度 Dランク(レーティング1117)・正答率 69%(11/16回正解)
レーティングは解いた人の実力と正誤から算出する難しさ(初期値1200)。ランクはその全問題中の順位(S+が最難関、F-が最易)

正解と解説を見る
正解:マイクロサービスアーキテクチャは複数の小さく独立したサービスに分割し、各サービスが自律的にデプロイ・スケーリングできる。

マイクロサービスアーキテクチャは現代的なアプリケーション開発における重要なアーキテクチャパターンです。

マイクロサービスの特徴:

1. 独立性:各サービスは独立して開発・デプロイできます
2. スケーラビリティ:負荷が高いサービスのみスケールアップできます
3. 復旧力:1つのサービス障害が全体に波及しにくい
4. 技術多様性:各サービスで異なるプログラミング言語、データベースを使用可能

正しいのは「マイクロサービスアーキテクチャは複数の小さく独立したサービスに分割し、各サービスが自律的にデプロイ・スケーリングできる」です。

マイクロサービスの課題:

サービス間の通信がネットワーク経由になるため:
- 遅延とネットワーク分割のリスク
- サービス間の依存関係が複雑化(統合テストが難しくなる)
- 分散トレーシングやログ管理の複雑化

サービス間通信:
- RESTful API:同期通信、シンプルだが遅延に弱い
- メッセージキュー:非同期通信、解結合度が高い
- gRPC:高性能な同期通信

技術多様性:
マイクロサービスの利点の一つが、サービスごとに異なる技術スタックを選択できることです。

適用時の注意:
すべてのプロジェクトに向いているわけではありません。小規模チームや小規模プロジェクトではモノリシックが効率的です。

← 前の問題問題一覧次の問題 →
アプリで解いてレーティングを上げる(無料・登録不要)