サービスメッシュ とは
サービス間通信のインフラ層
サービスメッシュ
サービスメッシュは、マイクロサービス間の通信を管理するための専用インフラストラクチャ層です。アプリケーションコードを変更せずに、可観測性、セキュリティ、信頼性を提供します。
アーキテクチャ
| コンポーネント | 役割 | 例 | |----------------|------|-----| | データプレーン | 各サービスの隣にあるサイドカープロキシ | Envoy, Linkerd-proxy | | コントロールプレーン | 設定とポリシー管理 | Istiod, Linkerdコントロールプレーン |
主な機能
- トラフィック管理 — 負荷分散、カナリア、サーキットブレーカー
- セキュリティ — mTLS、認可、暗号化
- 可観測性 — メトリクス、トレーシング、ログ
- ポリシー — レート制限、リトライ、タイムアウト
人気のソリューション
| ソリューション | 特徴 | |----------------|------| | Istio | フル機能、複雑 | | Linkerd | 軽量、使いやすい | | Consul Connect | HashiCorpエコシステム統合 | | Cilium | eBPFベース、高性能 |
サービスメッシュが必要な場合
- 多数のマイクロサービス(50+)
- サービス間でmTLSが必要
- 詳細な可観測性が必要
- 複雑なルーティングルール
- コンプライアンス要件(PCI DSS, SOC 2)
不要な場合
- モノリシックアプリケーション
- サービスが少ない(< 10)
- シンプルなアーキテクチャ
- メンテナンスリソースがない