マイクロサービスアーキテクチャ
まいくろさーびすあーきてくちゃ
ひとことで言うと
アプリケーションを独立した小サービスの集合として構築し、APIで疎結合に連携するアーキテクチャ。
解説
アプリケーションを小さな独立したサービスの集合として構築するアーキテクチャスタイル。各サービスは特定のビジネス機能に特化し、APIを通じて疎結合に連携する。サービスごとに独立したデプロイやスケーリングが可能であり、大規模システムの開発・運用に柔軟性をもたらす。
くわしく解説
マイクロサービスアーキテクチャとは、アプリケーションを単一の大きなシステム(モノリシックアーキテクチャ)として構築するのではなく、「注文管理」「在庫管理」「決済処理」など特定のビジネス機能に特化した小さなサービスの集合として構築するアーキテクチャスタイルである。各サービスはAPIを通じて疎結合に連携し、独立してデプロイ・スケーリング・障害対応が可能である。特定のサービスに負荷が集中した場合はそのサービスのみをスケールアウトできるため、リソース効率が高い。一方で、サービス間通信の管理・分散トランザクションの複雑さ・運用監視の難易度が増すという課題もある。DevOps・コンテナ技術(Docker・Kubernetes)との親和性が高く、大規模Webサービスで普及している。モノリシックアーキテクチャとの比較が試験頻出である。
具体例で考えよう
大手ECサイトが「商品検索」「カート」「決済」「配送管理」をそれぞれ独立したマイクロサービスとして構築している場合、セール時に「商品検索」だけを集中的にスケールアウトすることで、コストを抑えながら高負荷に対応できる。
試験対策ポイント
モノリシックアーキテクチャとの比較(独立デプロイ・スケーリングのメリット、運用複雑化のデメリット)は頻出。SOA(サービス指向アーキテクチャ)との違い、APIによる疎結合の概念も整理。