Über Envoy
Ein hochleistungsfähiger C++-Proxy für Cloud-native Microservice-Deployments.
Envoy fungiert als universelle Datenebene für Service-Mesh-Architekturen und bietet erweiterte Routing-, Lastenausgleichs- und Observability-Funktionen. Erstellt bei Lyft und jetzt ein CNCF-graduiertes Projekt, das von Unternehmen wie Airbnb, Netflix und Uber verwendet wird.
Hauptfunktionen
- ⚡ Hohe Leistung: C++-Implementierung mit minimalem Speicher-Footprint
- 🔀 Protokoll-agnostisch: Native Unterstützung für HTTP/1.1, HTTP/2, HTTP/3, gRPC und TCP
- 🎯 Intelligentes Routing: Pfadbasiertes Routing, Traffic-Splitting und Header-Manipulation
- 🔄 Resilienzmuster: Automatische Wiederholungsversuche, Circuit Breaker und Timeout-Management
- 📊 Umfangreiche Metriken: Integrierte Statistiken, verteiltes Tracing und Zugriffsprotokolle
- 🔌 Dynamische Konfiguration: xDS-APIs für Laufzeit-Updates ohne Neustarts
- 🛡️ Sicherheit zuerst: TLS-Terminierung, gegenseitiges TLS, Rate Limiting und Authentifizierung
- 🌍 Multi-Protokoll: WebSocket-, MongoDB-, Redis-, Postgres-Wire-Protokolle
Konfigurationsübersicht
Dieser Stack enthält eine grundlegende statische Konfiguration. Für Ihren Anwendungsfall sollten Sie:
envoy.yaml
bearbeiten, um Ihre Routing-Regeln zu definieren- Upstream-Cluster für Ihre Backend-Dienste konfigurieren
- Listener für Ihre spezifischen Ports und Protokolle einrichten
- Filter für Authentifizierung, Rate Limiting oder andere Funktionen hinzufügen
Die Standardkonfiguration bietet:
- Admin-Dashboard auf Port 9901 für Überwachung und Debugging
- Beispiel-HTTP-Listener auf Port 10000
- Beispiel-Upstream-Service-Definition
Zugriffspunkte
- Admin-Konsole:
http://envoy.stack.localhost:9901
- Konfiguration, Statistiken und Status anzeigen - Proxy-Endpunkt:
http://envoy.stack.localhost:10000
- Haupteintrittspunkt für Traffic