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