サービスメッシュ
さーびすめっしゅ
English: Service Mesh
意味
サービスメッシュ(Service Mesh)とは、マイクロサービスアーキテクチャにおいて、多数のサービス間の通信を制御・管理するためのインフラ層。Istioなどが有名。通信の暗号化、負荷分散、認証などをアプリケーションコードから分離して、一元管理できるようにする。
概要
マイクロサービスアーキテクチャにおいて、サービス同士の通信(メッシュ状のネットワーク)を管理・制御するための専用のインフラ層。 Istioなどが有名。
課題
モノリス(一枚岩)なシステムを、たくさんの小さなサービス(マイクロサービス)に分割すると、サービス間の通信が複雑になりすぎます。 「AからBへの通信が失敗した時にどうするか(リトライ)」「誰が誰にアクセスしていいか(認証)」などを、各サービスのコードに書いていくのは大変です。
解決策
それらの面倒な通信制御を、アプリ本体から切り離して、サイドカープロキシ(Envoyなど)に全部任せてしまう仕組み。 これにより、開発者は通信のことを気にせず、ビジネスロジックの実装に集中できます。