マイクロサービスとは
Microservices / マイクロサービスアーキテクチャ
アプリケーションを独立してデプロイ・スケールできる小さなサービス群に分割するアーキテクチャスタイル
概要
マイクロサービスとは、1つの大きなアプリケーションを、それぞれ独立してデプロイ・スケール・開発できる小さなサービス群に分割して構築するアーキテクチャスタイルを指す。 各サービスは特定の機能に責任を持ち、APIなどを介して互いに通信する。単一の巨大なコードベースとして構築するモノリシックアーキテクチャと対比され、サービスごとに異なる言語・技術スタックを選んだり、負荷の高いサービスだけを個別にスケールさせたりできる柔軟性が利点となる。 LLMを使ったシステムでも、モデル推論サーバーやベクトルデータベース、オーケストレーターといった機能をそれぞれ独立したサービスとして構成し、LLM GatewayやModel Routerを介して連携させる設計がよく採られる。
利点
- サービスごとに独立してデプロイ・スケールできるため、負荷の高い機能だけをスケールさせられる
- サービス単位でチームや技術スタックを分けられ、大規模な開発の並行作業がしやすくなる
欠点
- サービス間通信の分だけレイテンシやネットワーク障害への対応が必要になり、システム全体の複雑性が増す
- 分散したサービスをまたぐ処理のトレーシングやデバッグが、モノリシック構成に比べて難しくなる
比較
- LLM Gateway — LLM Gatewayは、複数のLLM系マイクロサービスやモデルプロバイダへのアクセスを一元化するAPIレイヤー