Да, вам не хватает балансировщика нагрузки.
Это лучший ресурс, который я могу найти, чтобы помочь, я вставлю соответствующее содержимое, если оно станет недоступным.
Обратный прокси-сервер. При подготовке кластера Service Fabric у вас есть возможность установить Обратный прокси-сервер на каждом из узлов кластера.Он выполняет разрешение службы от имени клиента и перенаправляет запрос на правильный узел, который содержит приложение.В большинстве случаев службы, работающие в Service Fabric, работают только на подмножестве узлов.Поскольку подсистема балансировки нагрузки не будет знать, какие узлы содержат запрошенную службу, клиентским библиотекам придется обернуть запросы в повторный цикл, чтобы разрешить конечные точки службы.Использование обратного прокси-сервера решит проблему, так как он работает на каждом узле и точно знает, на каких узлах работает служба.Клиенты вне кластера могут обращаться к службам, работающим внутри кластера, через обратный прокси-сервер без дополнительной настройки.
![Typical Service Fabric Cluster Infrastructure Diagram](https://i.stack.imgur.com/vGVdV.png)
Источник: AzureService Fabric потрясающий
У меня запущен ресурс Azure Service Fabric, но применяются те же правила.Как говорится в статье, вам понадобится обратный прокси-сервер / балансировщик нагрузки, чтобы решить не только те узлы, на которых запущен API, но и сбалансировать нагрузку между узлами, на которых работает этот API.Таким образом, проверки работоспособности также необходимы, чтобы балансировщик нагрузки знал, какие узлы являются жизнеспособными вариантами для отправки трафика.
Например, Azure создает 2 правила: 1. LBHttpRule на TCP / 19080 сПроверка TCP на порту 19080 каждые 5 секунд с порогом ошибки 2 счета.2. LBRule на TCP / 19000 с TCP-зондом на порту 19000 каждые 5 секунд с порогом ошибки подсчета 2.
Что нужно добавить, чтобы сделать это прямое обращение, это правило, при котором порт 80 следует перенаправлять наваш сервис http порт.Тогда зондом работоспособности может быть зонд http, который находит путь для проверки возврата 200.
Как только вы попадете в кластер, вы можете разрешить службы в обычном режиме, а SF позаботится о доступности.
В Azure-land это снова абстрагировано от использования чего-то вроде API Management для дальнейшей обратной передачи его через прокси-сервер в SSL.Какой беспорядок, но он работает.
Как только ваш балансировщик нагрузки настроен, у вас будет один IP-адрес для управления, публикации и регулярного трафика.