サービス メッシュを使用すると、サービス開発者はネットワーク通信の作業を軽減し、ビジネス ロジックに集中できるようになります。
サービス メッシュは、マイクロサービス アプリケーション用の構成可能なインフラストラクチャ レイヤーです。 これにより、サービス インスタンス間の通信が柔軟かつ信頼性が高く、高速になります。 メッシュは、サービス検出、負荷分散、暗号化、認証と承認、サーキットブレーカーパターンのサポートなどの機能を提供します。
サービス メッシュは通常、各サービス インスタンスに対してサイドカーと呼ばれるプロキシ インスタンスを提供することで実装されます。 サイドカーは、サービス間の通信、監視、セキュリティ関連の懸念事項など、個々のサービスから抽象化できるあらゆるものを処理します。 これにより、開発者はサービス内のアプリケーション コードの開発、サポート、メンテナンスを処理でき、運用チームはサービス メッシュを保守してアプリを実行できます。
Google、IBM、Lyft が支援する Istio は、現在最もよく知られているサービス メッシュ アーキテクチャです。 Kubernetes はもともと Google によって設計され、現在 Istio でサポートされている唯一のコンテナ オーケストレーション フレームワークです。
サービス メッシュはサービス検出プロトコルと連携して、サービスが起動するとそれを検出します。 そして、消えるときにメッシュが優雅に古びていきます。 サービス ディスカバリは、他のサービスによってリクエストを受信する準備ができている (または検出される) インスタンスのリストを保持するコンテナ管理フレームワークです。 これらを組み合わせることで、サービス間通信の回復力が高まります。