Envoy Proxy

Envoy Proxy Envoy

Высокопроизводительный облачный прокси edge/middle/service

★ 26,9 тыс. Reverse proxy Load balancer API gateway Network Observability

Homepage · Source code

Author: Envoy Project Authors · License: Apache-2.0

Version: 1.36.2 ·

О Envoy

Высокопроизводительный прокси на C++, созданный для развертывания облачных микросервисов.

Envoy выступает в качестве универсальной плоскости данных для архитектур service mesh, предоставляя расширенные возможности маршрутизации, балансировки нагрузки и наблюдаемости. Создан в Lyft и теперь является выпускным проектом CNCF, используемым такими компаниями, как Airbnb, Netflix и Uber.

Архитектура Envoy


Ключевые возможности

  • Высокая производительность: Реализация на C++ с минимальным объемом памяти
  • 🔀 Агностик протокола: Нативная поддержка HTTP/1.1, HTTP/2, HTTP/3, gRPC и TCP
  • 🎯 Интеллектуальная маршрутизация: Маршрутизация на основе путей, разделение трафика и манипуляция заголовками
  • 🔄 Паттерны отказоустойчивости: Автоматические повторные попытки, автоматические выключатели и управление таймаутами
  • 📊 Богатые метрики: Встроенная статистика, распределенная трассировка и журналирование доступа
  • 🔌 Динамическая конфигурация: API xDS для обновлений во время выполнения без перезапуска
  • 🛡️ Безопасность прежде всего: Терминация TLS, взаимный TLS, ограничение скорости и аутентификация
  • 🌍 Мультипротокольность: Протоколы WebSocket, MongoDB, Redis, Postgres

Обзор конфигурации

Этот стек включает базовую статическую конфигурацию. Для вашего случая использования вам следует:

  • Отредактировать envoy.yaml для определения правил маршрутизации
  • Настроить upstream кластеры для ваших backend сервисов
  • Настроить listeners для ваших конкретных портов и протоколов
  • Добавить фильтры для аутентификации, ограничения скорости или других функций

Настройка по умолчанию предоставляет:

  • Панель администратора на порту 9901 для мониторинга и отладки
  • Пример HTTP listener на порту 10000
  • Пример определения upstream сервиса

Точки доступа

  • Консоль администратора: http://envoy.stack.localhost:9901 - Просмотр конфигурации, статистики и состояния
  • Конечная точка прокси: http://envoy.stack.localhost:10000 - Основная точка входа трафика

Ресурсы