Микросервисы с динамическими портами - PullRequest
0 голосов
/ 19 апреля 2019

У меня есть серия микросервисов, которые я тестировал. Первоначально он использовал Service Fabric , однако я перешел на использование Консул , Фабио , Кочевник , который мне нравится больше.

При разработке на моей машине все работает хорошо, но я сталкиваюсь с некоторыми проблемами, заставляющими Fabio работать в кластерном формате.

У меня есть кластер из 5 узлов, каждый из которых работает с Консулом, Фабио, Номадом. Каждый сервис получает динамический порт во время выполнения и успешно регистрируется. На узле, на котором работает служба, Fabio правильно перенаправляет трафик. Однако, если тот же URL-адрес fabio используется на другом узле, трафик перенаправляется на правильный узел / порт, однако он закрыт, поэтому соединение не работает.

Например, если ServiceA работает на MachineA через порт 1234, тогда http://MachineA:9999/ServiceA работает правильно.
Однако http://MachineB/ServiceA завершается ошибкой после того, как MachineA пытается установить соединение с MachineB через порт 1234.

Решением было бы добавить правила брандмауэра, как я себе представляю, однако для этого необходимо, чтобы все службы работали от имени администратора, чего я не хочу.

Есть ли способ поддержать это через Фабио?

...