Я хотел бы настроить шлюз для объединения нескольких отдельных запросов в один запрос как эта ссылка .Однако мой вариант использования позволяет пользователю создавать дополнительные сервисы.
Пользователь отправляет запрос:
POST http://gatway_ip/cards/foo
Диаграмма выглядит следующим образом:
+------------------+ +-----------------+ +-----------------+
| | | | | |
| transactions | | User info | | dynamic info |
| | | | | |
+------------------+ +-----------------+ +-----------------+
| | |
+----------+ +--------+ |
| | |
| | |
+----v-----v---+ |
| | |
| /cards/foo <----------------------------+
| |
+--------------+
|
|
|
+
User
Пользователь может запускать / останавливать динамическую информацию по требованию.Шлюз объединяет ответ JSON от различных служб.Например:
транзакции:
{"amount": 4000}
информация о пользователе:
{ "name": "foo" }
динамическая информация:
{ "wifeName": "bar" }
Ответы шлюза:
{
"amount": 4000,
"name": "foo",
"wifeName": "bar"
}
Насколько я знаю:
- Пример решения на веб-сайте Microsoft определяет фиксированный бэкэнд.
- Вход Kubernetes разрешает маршрутизацию только для входящих запросов.
Есть ли какое-либо решение для агрегации шлюза с динамическим внутренним сервером?
Отредактировано
Обход 1
См. Конфигурации NVIDIA для автоматической перезагрузки nginx,мы можем воспользоваться преимуществами Kubernetes ConfigMap, выполнив следующие шаги:
- Создайте
backend.json
конфигурацию, которая загружается с помощью lua для события init_by_lua*
(* является блоком или файлом) - Настройте ConfigMap на
backend.json
и используйте inotify для мониторинга изменений ConfigMap - Предоставляет API, который отправляет запрос в Kubernetes ConfigMap API для пользователя на изменение конфигурации.Таким образом, шлюз nginx автоматически перезагрузит
Однако, эта ссылка утверждает, что inotify не будет работать, поскольку общее хранилище было файловой системой fuse