マイクロサービス
意味・解説
巨大な一つのシステムを、独立して動く小さなサービスの集合体として構築する設計手法。
各サービスを独自の機能単位に分割し、それぞれがAPIを通じて連携する。特定のサービスだけの修正や拡張が容易で、障害の影響範囲を限定できるメリットがある。
くわしく
従来の巨大な一体型システム「モノリス(モノリシック・アーキテクチャ)」に対する概念です。
1.独立性:
各サービス(例:注文管理、在庫管理、決済など)を別々のプログラムとして作成し、それぞれ異なる言語やDBを使うことも可能です。
2.拡張性(拡張性):
アクセスが集中する「決済機能」のサーバーだけを増やすといった、部分的な強化が容易です。
3.耐障害性:
一つの機能がダウンしても、他の機能への影響を最小限に抑えられます。ポイントは、巨大なシステムは少しの修正でも全体に影響が出るため、迅速な開発を求めるDevOpsやアジャイルとの相性が非常に良いからです。試験では、モノリスとの比較や、APIで連携する点、変更への強さが問われます。
例文
大規模なECサイトをマイクロサービスで構築し、セール期間中にアクセスが集中する商品検索機能のコンテナだけを増強した。
同義語: マイクロサービス・アーキテクチャ
対義語: モノリシック・アーキテクチャ(モノリス)
分類: システムアーキテクチャ