Pull to refresh

Comments 11

Я, пожалуй, в статье немного неясно описал цель и результат.

Вношу уточнение: решение не найдено (еще) поскольку самописное годится для экспериментов и в качестве инструмента для отладки: там альфа на альфе и сам автор grpc-proxy пишет, что для продакшна не стоит использовать.

Полезная нагрузка статьи в том, что описывается работа с gRPC-отражением чуть подробнее, чем reflection.Register(s).

Динамические в каком смысле? На лету менять прото-определения? Тогда и клиент должен подстраиваться постоянно. И это ничем не лучше, чем зафиксировать версию API и пробросить маршруты в конфиге.

Скорее в смысле что бекенды (сервисы) поднимаются и опускаются, и масштабируются

Спасибо, установлю - отпишу результат.

Расскажите пожалуйста чем не хватило envoy и где были с ним затыки. У меня было ощущение что у них одна из фич была трансляция grpc over http/1.1 в нормальный grpc (которая grpc-web) и, соответственно, в качестве более простого grpc gateway должно тем более работать. Но так как сам не пробовал -- интересно что там.

Да вот без внятного примера непонятно было как подступить.

Пример нашелся под боком:

https://github.com/mwitkow/grpc-proxy/issues/46#issuecomment-761980790

Ну а дальше - глаза боятся, руки делают =)

Это для gRPC <-> gRPC. Работает, в том числе и потоковая передача.

Единственный ньюанс - envoy модифицирует заголовки.
Например если в исходном запросе несколько одинаковых ключей.

было:
header1: value1
header1: value2
header1: value3

станет:
header1: value1, value2, value3

Пока настроил без TLS, дальше попробую прикрутить.

С Траефик все работает, мы уже года полтора пользуемся. В целом: K8s кластер с Траефик в качестве IngressController. Траефик также занимается https termination. Т.е. в Траефик приходит https, а он уже раздает http. Если нужен https внутри кластера, наверное надо интегрировать сервис меш. Istio, например. Возможно Istio можно и для реверс прокси и для ингреса использовать.

Sign up to leave a comment.

Articles