Envoy Proxy

Envoy Proxy Envoy

Proxy edge/middle/service de alto desempenho nativo da nuvem

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

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.

Arquitetura Envoy


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

Recursos