← Back to Home
Envoy Proxy
Envoy is a high-performance C++ distributed proxy designed for cloud-native applications. Originally developed at Lyft, it provides advanced observability, load balancing, and traffic management capabilities for microservices architectures.
Key Features
Advanced Observability
Built-in metrics, distributed tracing, and logging for comprehensive visibility.
Protocol Support
HTTP/1.1, HTTP/2, HTTP/3, gRPC, WebSocket, MongoDB, Redis, and more.
Dynamic Configuration
Hot-reloadable configuration via xDS APIs (CDS, EDS, LDS, RDS).
Advanced Load Balancing
Multiple algorithms including ring hash, maglev, least request, and random.
Use Cases
- Service Mesh: Data plane proxy for Istio, Consul Connect, and other service meshes
- Edge Proxy: API gateway and edge proxy for cloud-native applications
- Load Balancer: Advanced load balancing with health checking
- Observability: Centralized metrics and tracing collection
- Security: mTLS, rate limiting, and authentication
Configuration Example
Basic Envoy listener and cluster configuration:
static_resources:
listeners:
- name: listener_0
address:
socket_address:
address: 0.0.0.0
port_value: 10000
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
Advantages
- High performance C++ implementation
- Comprehensive observability out of the box
- Protocol-agnostic architecture
- Dynamic configuration without restarts
- Used by major cloud providers and platforms
Official Resources
- Website: envoyproxy.io
- Documentation: envoyproxy.io/docs
- GitHub: github.com/envoyproxy/envoy