Как стать автором
Обновить

Комментарии 6

Envoy конфигурирует их так называемым xDS-протоколом, который разрабатывается отдельно от Envoy и позволяет конфигурировать блоки.

Это он сейчас развивается отдельно. А изначально он развивался в рамках Envoy. Идея сделать его Universal Data Plane появилась чуть позже.

Envoy, в отличие от nginx, не предназначен для раздачи статического контента.

Это так. Но тем не менее возможность такая есть, как описано здесь https://github.com/envoyproxy/envoy/issues/378#issuecomment-1728846036
И если очень надо, не очень сложно было бы написать своё расширение к Envoy.

Несмотря на популярность Envoy количество его мейнтейнеров очень ограничено. Они в большом дефиците. Доменируют среди них сотрудники Google, у которых свои приоритеты и OKR. Обычно, кто открывает issue, тот и закрывает их патчем. Основная задача мейнтейнера - убедиться, что патч надлежащего качества и хорошо вписывается в архитектуру. Исключения - security issues.

У структуры документации логика есть. БОльшая часть - авто-сгенерирована из коментариев к Protobuf-декларациям. Остальное - поэлементное описание расширений, поскольку практически весь функционал находится в расширениях, включая даже HTTP connection manager, который по сути тоже опциональный фильтр. Кстати, рекомендую делать свою сборку Envoy, убрав все ненужные расширения. Будет немножко быстрее и меньше footprint.

В порядке саморекламы: два года назад я был официальным мейнтейнером Envoy.

У структуры документации логика есть. БОльшая часть - авто-сгенерирована из коментариев к Protobuf-декларациям.

А есть ресурс с документацией для людей? Я много плакал, пока пытался понять как это использовать. После Envoy документация Nginx или Caddy кажется венцом эволюции. А то, что раздел Community на оф. сайте ведёт не на форум сообщества, а на список контрибуторов вообще вогнало меня в депрессию. Ну то есть изо всех щелей лезет "мы делали это не для людей, а для машин" ☹️

Наверно, у меня высокий болевой порог. Часто я имею дело с проектами, где единственная документация - это исходный код. В общем, другой документации у Envoy нет. С вопросами лучше идти в слак-канал или в гуглу-группу. В слаке отвечают обычно быстрее. Ссылки есть на главном README.md репозитория.

За проектом не стоит никакая организация, заинтересованная в продвижении Envoy как конечного продукта. CNCF помогает с инфраструктурой, но не оплачивает услуги tech-writer'а. Если есть желание помочь другим написанием внятной документации, то пул-реквесты приветствуются :)

SLA для триажа новой issue дежурным мейнтейнером - сутки. Это условие принятия в мейнтейнеры: работодатель мейнтейнера должен дать согласие частично освобождать мейнтейнера от основной работы на время дежурства.

В начале статьи увидел упоминание о Traefik, хотелось бы и с ним увидеть сравнение.

Вы задаёте неудобные вопросы.

Очень специфический вопрос: а верно ли что при использовании балансировки на уровне маршрута, вот такой:

...
route_config:
  name: local_route
  virtual_hosts:
  - name: local_service
    domains: ["*"]
    routes:
    - match:
        prefix: "/"
      route:
        weighted_clusters:
          clusters:
            - name: cluster1
              weight: 33
            - name: cluster2
              weight: 33
            - name: cluster3
              weight: 34

энвой не будет убирать из балансировки кластер, даже если хеслчек кластера показывает что он не отвечает на запросы? Не могу найти документацию про это поведение :( Спасибо!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий