Sobre Envoy
Um proxy C++ de alto desempenho construído para implantações de microsserviços nativos da nuvem.
Envoy atua como um plano de dados universal para arquiteturas de malha de serviços, fornecendo recursos avançados de roteamento, balanceamento de carga e observabilidade. Criado na Lyft e agora um projeto graduado da CNCF usado por empresas como Airbnb, Netflix e Uber.
Capacidades principais
- ⚡ Alto desempenho: Implementação C++ com pegada mínima de memória
- 🔀 Agnóstico de protocolo: Suporte nativo para HTTP/1.1, HTTP/2, HTTP/3, gRPC e TCP
- 🎯 Roteamento inteligente: Roteamento baseado em caminho, divisão de tráfego e manipulação de cabeçalhos
- 🔄 Padrões de resiliência: Tentativas automáticas, disjuntores e gerenciamento de timeout
- 📊 Métricas ricas: Estatísticas integradas, rastreamento distribuído e registro de acesso
- 🔌 Configuração dinâmica: APIs xDS para atualizações em tempo de execução sem reinicializações
- 🛡️ Segurança em primeiro lugar: Terminação TLS, TLS mútuo, limitação de taxa e autenticação
- 🌍 Multi-protocolo: Protocolos de fio WebSocket, MongoDB, Redis, Postgres
Visão geral da configuração
Esta pilha inclui uma configuração estática básica. Para o seu caso de uso, você deve:
- Editar
envoy.yamlpara definir suas regras de roteamento - Configurar clusters upstream para seus serviços de backend
- Configurar listeners para suas portas e protocolos específicos
- Adicionar filtros para autenticação, limitação de taxa ou outros recursos
A configuração padrão fornece:
- Painel de administração na porta 9901 para monitoramento e depuração
- Listener HTTP de exemplo na porta 10000
- Definição de serviço upstream de exemplo
Pontos de acesso
- Console de administração:
http://envoy.stack.localhost:9901- Visualizar config, estatísticas e saúde - Endpoint do proxy:
http://envoy.stack.localhost:10000- Ponto de entrada principal do tráfego