Envoy Proxy

Envoy Proxy Envoy

Proxy edge/middle/service ad alte prestazioni cloud-native

★ 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 ·

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.

Architettura Envoy


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.yaml per 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

Risorse