Envoy Proxy

Envoy Proxy Envoy

クラウドネイティブな高性能エッジ/ミドル/サービスプロキシ

★ 2.7万 Reverse proxy Load balancer API gateway Network Observability

Homepage · Source code

Author: Envoy Project Authors · License: Apache-2.0

Version: 1.36.2 ·

Envoy について

クラウドネイティブなマイクロサービスデプロイメント向けに構築された高性能C++プロキシ。

Envoyはサービスメッシュアーキテクチャの汎用データプレーンとして機能し、高度なルーティング、ロードバランシング、オブザーバビリティ機能を提供します。Lyftで作成され、現在はAirbnb、Netflix、Uberなどの企業で使用されているCNCF卒業プロジェクトです。

Envoyアーキテクチャ


主な機能

  • 高性能: 最小限のメモリフットプリントを持つC++実装
  • 🔀 プロトコル非依存: HTTP/1.1、HTTP/2、HTTP/3、gRPC、TCPのネイティブサポート
  • 🎯 インテリジェントルーティング: パスベースのルーティング、トラフィック分割、ヘッダー操作
  • 🔄 レジリエンスパターン: 自動リトライ、サーキットブレーカー、タイムアウト管理
  • 📊 豊富なメトリクス: 組み込みの統計、分散トレーシング、アクセスログ
  • 🔌 動的構成: 再起動なしでランタイム更新を行うxDS API
  • 🛡️ セキュリティ第一: TLS終端、相互TLS、レート制限、認証
  • 🌍 マルチプロトコル: WebSocket、MongoDB、Redis、Postgresワイヤプロトコル

構成の概要

このスタックには基本的な静的構成が含まれています。ユースケースに応じて、以下を行う必要があります:

  • envoy.yamlを編集してルーティングルールを定義
  • バックエンドサービスのアップストリームクラスタを構成
  • 特定のポートとプロトコルのリスナーを設定
  • 認証、レート制限、その他の機能のフィルターを追加

デフォルト設定では以下を提供:

  • 監視とデバッグ用のポート9901の管理ダッシュボード
  • ポート10000のHTTPリスナーの例
  • アップストリームサービス定義の例

アクセスポイント

  • 管理コンソール: http://envoy.stack.localhost:9901 - 構成、統計、ヘルスを表示
  • プロキシエンドポイント: http://envoy.stack.localhost:10000 - メイントラフィックエントリーポイント

リソース