Aspnet core 2.2. Микросервисы.
Как бы сделать единую точку подключения фронтенда к микросервисному бекенду, что бы при слиянии дроблении микросервисов фронт не менять?
Здравствуйте, BlackEric, Вы писали:
BE>Как бы сделать единую точку подключения фронтенда к микросервисному бекенду, что бы при слиянии дроблении микросервисов фронт не менять?
Можно, например, поднять nginx и заставить его проксировать запросы по разным HTTP-серверам в зависимости от URL.
http://my-nginx.ru/api1/get ->
http://my-api1.ru/api1/get
http://my-nginx.ru/api2/get ->
http://my-api2.ru/api2/get
Здравствуйте, RushDevion, Вы писали:
BE>>Как бы сделать единую точку подключения фронтенда к микросервисному бекенду, что бы при слиянии дроблении микросервисов фронт не менять?
RD>Гугли API Gateway.
RD>Вариантов реализации — куча.
RD>На NGINX, наверное, проще всего будет.
RD>Конфиг можно автоматом генерить при деплое.
Pattern: API Gateway. Спасибо, буду изучать.
Вот вспомнил,
интересный пример реализации (правда, он на Go/NodeJS, но для общего развития полезно посмотреть).
Два момента интересные:
1. Конфигурация задается через API, т.е. ее можно динамически менять (Skipper)
2. Ребята пошли на шаг дальше и собирают через Gateway не только API, но и сам UI (Tailor)
И еще момент, если хостишься в облаке (Amazon, Azure), там уже есть готовые сервисы для API Gateway.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.