Envoy Proxy

Envoy Proxy Envoy

Hochleistungs-Edge/Middle/Service-Proxy für Cloud-native Umgebungen

★ 26.900 Reverse proxy Load balancer API gateway Network Observability

Homepage · Source code

Author: Envoy Project Authors · License: Apache-2.0

Version: 1.36.2 ·

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

Envoy-Architektur


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

Ressourcen