Envoy Proxy

Envoy Proxy Envoy

Proxy edge/middle/service de alto rendimiento nativo en la nube

★ 26,9 mil Reverse proxy Load balancer API gateway Network Observability

Homepage · Source code

Author: Envoy Project Authors · License: Apache-2.0

Version: 1.36.2 ·

Acerca de Envoy

Un proxy C++ de alto rendimiento diseñado para implementaciones de microservicios nativos en la nube.

Envoy actúa como un plano de datos universal para arquitecturas de malla de servicios, proporcionando funciones avanzadas de enrutamiento, balanceo de carga y observabilidad. Creado en Lyft y ahora un proyecto graduado de CNCF utilizado por empresas como Airbnb, Netflix y Uber.

Arquitectura de Envoy


Capacidades clave

  • Alto rendimiento: Implementación en C++ con huella de memoria mínima
  • 🔀 Agnóstico de protocolo: Soporte nativo para HTTP/1.1, HTTP/2, HTTP/3, gRPC y TCP
  • 🎯 Enrutamiento inteligente: Enrutamiento basado en rutas, división de tráfico y manipulación de encabezados
  • 🔄 Patrones de resiliencia: Reintentos automáticos, circuit breakers y gestión de tiempos de espera
  • 📊 Métricas enriquecidas: Estadísticas integradas, rastreo distribuido y registro de acceso
  • 🔌 Configuración dinámica: APIs xDS para actualizaciones en tiempo de ejecución sin reinicios
  • 🛡️ Seguridad primero: Terminación TLS, TLS mutuo, limitación de velocidad y autenticación
  • 🌍 Multi-protocolo: Protocolos de cable WebSocket, MongoDB, Redis, Postgres

Descripción de la configuración

Este stack incluye una configuración estática básica. Para su caso de uso, debería:

  • Editar envoy.yaml para definir sus reglas de enrutamiento
  • Configurar clusters upstream para sus servicios backend
  • Configurar listeners para sus puertos y protocolos específicos
  • Agregar filtros para autenticación, limitación de velocidad u otras características

La configuración predeterminada proporciona:

  • Panel de administración en el puerto 9901 para monitoreo y depuración
  • Listener HTTP de ejemplo en el puerto 10000
  • Definición de servicio upstream de ejemplo

Puntos de acceso

  • Consola de administración: http://envoy.stack.localhost:9901 - Ver configuración, estadísticas y salud
  • Endpoint de proxy: http://envoy.stack.localhost:10000 - Punto de entrada principal del tráfico

Recursos