Envoy Proxy

Envoy Proxy Envoy

Proxy edge/middle/service haute performance cloud-native

★ 26,9 k Reverse proxy Load balancer API gateway Network Observability

Homepage · Source code

Author: Envoy Project Authors · License: Apache-2.0

Version: 1.36.2 ·

À propos de Envoy

Un proxy C++ haute performance conçu pour les déploiements de microservices cloud-native.

Envoy agit comme un plan de données universel pour les architectures de service mesh, offrant des fonctionnalités avancées de routage, d'équilibrage de charge et d'observabilité. Créé chez Lyft et désormais un projet gradué de la CNCF utilisé par des entreprises comme Airbnb, Netflix et Uber.

Architecture Envoy


Capacités clés

  • Haute performance : Implémentation C++ avec une empreinte mémoire minimale
  • 🔀 Agnostique aux protocoles : Support natif HTTP/1.1, HTTP/2, HTTP/3, gRPC et TCP
  • 🎯 Routage intelligent : Routage par chemin, répartition du trafic et manipulation des en-têtes
  • 🔄 Modèles de résilience : Nouvelles tentatives automatiques, disjoncteurs et gestion des délais d'attente
  • 📊 Métriques enrichies : Statistiques intégrées, traçage distribué et journalisation des accès
  • 🔌 Configuration dynamique : APIs xDS pour les mises à jour en temps réel sans redémarrage
  • 🛡️ Sécurité d'abord : Terminaison TLS, TLS mutuel, limitation de débit et authentification
  • 🌍 Multi-protocole : Protocoles WebSocket, MongoDB, Redis, Postgres

Aperçu de la configuration

Cette stack inclut une configuration statique de base. Pour votre cas d'usage, vous devriez :

  • Modifier envoy.yaml pour définir vos règles de routage
  • Configurer les clusters en amont pour vos services backend
  • Paramétrer les listeners pour vos ports et protocoles spécifiques
  • Ajouter des filtres pour l'authentification, la limitation de débit ou d'autres fonctionnalités

La configuration par défaut fournit :

  • Tableau de bord admin sur le port 9901 pour la surveillance et le débogage
  • Exemple de listener HTTP sur le port 10000
  • Définition d'exemple de service en amont

Points d'accès

  • Console admin : http://envoy.stack.localhost:9901 - Voir la config, les stats et la santé
  • Point de terminaison proxy : http://envoy.stack.localhost:10000 - Point d'entrée principal du trafic

Ressources