Pull to refresh

Comments 19

Envoy можно использовать как относительно легковесную обертку для общих задач HTTP: логи, авторизация. Я тут несколько дней назад курил envoy для JWT-авторизации gRPC бекенда, получилось очень даже неплохо. Выбор envoy был обоснован тем что он имеет встроенный фильтр для проксирования gRPC-Web в gRPC, решил заодно и JWT прикрутить.


Впрочем, настраивать его иногда нетривиально, вот например заметка о том как правильно прикручивать TLS к апстримам.

Звучит будто envoy можно настроить как (микро) api gateway в кубернетовском сценарии.
Може ту вас есть опыт или идеи?
JWT поддержка (поверка хотябы, но лучше и сценарий получение его из opaque token)
А то я начал вчера с Spring cloud и security библиотхеками это делать, не покидает желание сравнить с чем-то другим..

Можно, и есть, я как раз черновик на эту тему заканчиваю :-)

Если можно пинганите нам тут, почитаем с удовольствием ;)

Ну как вводная тема ок. Полез таки смотреть доки.

Есть же gloo — реализация api gateway с envoy внутри.

я посмотрел и мне как-то пока не понравилось громоскостью и новыми конецепциями и обвязками, с непонятным бенефитом.
За вечер накатали на Spring Cloud Gateway более привычные пока. Гоням на этом пока…
Нужна простота и понятность на данный момент.

А насколько легко на нём решаются задачи типа: входящий http запрос (для простоты в неизменно виде, в идеале вытащить что-то из json тела) отправить на первый апстрим, ответ (для простоты один из заголовков ответа) добавить к оригинальном запросу и отправить на второй апстрим?

Насколько я знаю, из коробки не решается. Только если писать на Lua или свой плагин.

Envoy распространяется в бинарниках только как docker образ.
Более того, разработчики прямо говорят: собирать самостоятельно, мол, не советуем, ставьте через докер, а ведь это подходит далеко не всем. Я когда-то хотел заиспользовать Envoy в одном проекте на работе в качестве умного балансера, но оттолкнули его аццкая система сборки (для фрёвого порта я всё это безобразие переписал на обычный make) и жесткая зависимость от BoringSSL (из него вообще уши гугловых методологий разработки торчат довольно сильно). Ну и конфигурируется он действительно нетривиально.

По конфигурированию не соглашусь, дело привычки видимо. Мне кажется всё очень логично и понятно, тем более что всё не плохо задокументировано.
А сборка, да, замудреная, надо с bazel уметь работать. Сечас собирается в докере и базовый образ есть только для linux x86. Для всего остального придется погружаться в их ci скрипты.

О, как интересно! Спасибо, поковыряю на досуге и, не ровён час, переведу фрёвый порт на ваш форк. Надеюсь, что рано или поздно возможность сборки с ванильным OpenSSL появится и в апстриме.
UFO just landed and posted this here

Почему? Их через запятую можно указывать x-envoy-retry-on
Если настроить активные хелсчеки и outlier detection, ретраи почти не нужны.

Мне кажется, ещё не исчерпались возможности nginx+lua.
Sign up to leave a comment.

Articles