Informazioni su Envoy
Un proxy C++ ad alte prestazioni realizzato per deployment di microservizi cloud-native.
Envoy funge da data plane universale per architetture service mesh, fornendo funzionalità avanzate di routing, bilanciamento del carico e osservabilità. Creato presso Lyft e ora un progetto graduato CNCF utilizzato da aziende come Airbnb, Netflix e Uber.
Capacità chiave
- ⚡ Alte prestazioni: Implementazione C++ con footprint di memoria minimo
- 🔀 Agnostico al protocollo: Supporto nativo per HTTP/1.1, HTTP/2, HTTP/3, gRPC e TCP
- 🎯 Routing intelligente: Routing basato su percorso, suddivisione del traffico e manipolazione degli header
- 🔄 Pattern di resilienza: Tentativi automatici, circuit breaker e gestione dei timeout
- 📊 Metriche ricche: Statistiche integrate, tracciamento distribuito e logging degli accessi
- 🔌 Configurazione dinamica: API xDS per aggiornamenti runtime senza riavvii
- 🛡️ Sicurezza prima di tutto: Terminazione TLS, TLS mutuo, rate limiting e autenticazione
- 🌍 Multi-protocollo: Protocolli wire WebSocket, MongoDB, Redis, Postgres
Panoramica della configurazione
Questo stack include una configurazione statica di base. Per il tuo caso d'uso, dovresti:
- Modificare envoy.yamlper definire le tue regole di routing
- Configurare cluster upstream per i tuoi servizi backend
- Impostare listener per le tue porte e protocolli specifici
- Aggiungere filtri per autenticazione, rate limiting o altre funzionalità
La configurazione predefinita fornisce:
- Dashboard di amministrazione sulla porta 9901 per monitoraggio e debug
- Listener HTTP di esempio sulla porta 10000
- Definizione di servizio upstream di esempio
Punti di accesso
- Console di amministrazione: http://envoy.stack.localhost:9901- Visualizza config, statistiche e salute
- Endpoint proxy: http://envoy.stack.localhost:10000- Punto di ingresso principale del traffico