À 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.
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