エンベデッドシステムスペシャリスト 2022年 午前2 問20
問題文
マイクロサービスアーキテクチャを利用してシステムを構築する利点はどれか。
選択肢
ア:各サービスが使用する、プログラム言語、ライブラリ及びミドルウェアを統一しやすい。
イ:各サービスが保有するデータの整合性を確保しやすい。
ウ:各サービスの変更がしやすい。(正解)
エ:各サービスを呼び出す回数が減るので、オーバーヘッドが削減できる。
🔒 解説は解答すると表示されます
マイクロサービスの利点【午前2解説】
正解の理由
マイクロサービスアーキテクチャでは、システムを独立性の高い小さなサービスに分割します。そのため、あるサービスを変更するときに、ほかのサービスへの影響を抑えやすく、サービス単位で開発・テスト・リリースしやすくなります。
この特徴を述べているのがウです。ただし、サービス間の依存関係が強い設計では変更の影響が広がることもあり、変更しやすさは適切なサービス分割が前提となります。
解法ステップ
- マイクロサービスの基本的な特徴として、機能を複数の小さなサービスに分割することを思い出します。
- 各サービスを独立して開発・変更・リリースできる点に注目します。
- 言語やミドルウェアの統一、データ整合性の確保、呼出し回数の削減は、マイクロサービスの利点とは限らないと判断します。
選択肢別の誤答解説
- ア:各サービスで異なるプログラム言語やミドルウェアを採用できることは、マイクロサービスの特徴の一つです。統一しやすいとは限りません。技術を統一する場合もありますが、それは設計上の選択です。
- イ:サービスごとにデータを管理するため、サービスをまたぐデータ整合性の確保は難しくなる傾向があります。分散トランザクションを避け、結果整合性で設計する場合もあります。
- ウ:サービスごとに変更やリリースを行いやすくなるため、マイクロサービスの利点として適切です。
- エ:サービス間の通信はネットワークを介して行われるため、呼出し回数や通信のオーバーヘッドが増えることがあります。呼出し回数が減るとは限りません。
よくある誤解
- サービスを分割すれば、必ず変更が簡単になると思う:サービス間の依存が強いと、変更時に複数のサービスを修正する必要があります。
- 小さなサービスにすれば、通信コストも小さくなると思う:サービス間通信が増え、遅延や障害対応の負担が大きくなることがあります。
- 各サービスのデータは自動的に整合すると思う:データを分散管理するため、整合性を保つ仕組みや設計が必要です。
補足コラム
マイクロサービスでは、サービスごとにデータを管理し、APIなどを通じて連携する構成が一般的です。変更の独立性やチームごとの開発自由度を得やすい一方、サービス間通信、監視、障害対応、データ整合性などの運用上の複雑さが増します。利点だけでなく、システム全体の運用コストも考慮して採用を判断します。
FAQ
Q. マイクロサービスでは、各サービスの技術を必ず別々にするのですか?
A. 必ず別々にするわけではありません。サービスごとに適した技術を選べますが、運用や保守のしやすさを考えて統一することもあります。
A. 必ず別々にするわけではありません。サービスごとに適した技術を選べますが、運用や保守のしやすさを考えて統一することもあります。
Q. マイクロサービスなら、サービスを自由に変更できますか?
A. 独立して変更しやすい構成を目指しますが、APIの互換性やサービス間の依存関係への配慮は必要です。
A. 独立して変更しやすい構成を目指しますが、APIの互換性やサービス間の依存関係への配慮は必要です。
関連キーワード: マイクロサービス、モノリシックアーキテクチャ、サービス間通信、結果整合性

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

