Обратный прокси-сервер TCP Service Fabric

Можно ли использовать встроенный обратный прокси-сервер Service Fabric для балансировки между узлами по TCP? У меня есть настройка TCP-сервера в service fabric, в которую я могу telnet, но я не могу перейти через порт 19081 (обратный прокси-адрес).

2 ответа

  1. Нет. Но для этого можно настроить балансировщик нагрузки Azure.
    Обратная сторона против обратного прокси-сервера SF заключается в том, что ALB не знает о размещении служб на узлах, поэтому случай использования здесь, где вы делаете службу доступной на всех узлах на том же порту.

    Было бы хорошо, если бы служба обратного прокси SF имела перенаправление уровня TCP, как kube-proxy.

  2. Я думаю, что можно было бы написать свою собственную службу ретрансляции TCP (используя, напримерWcfCommunicationListener, и aNetTCPBinding), которая подключается к нижестоящим службам. https://github.com/spoorendonk/service-fabric-reverse-proxy это автономная реализация обратного прокси HTTP (первоначально предназначенная для локальных кластеров разработки), вы можете основать свой вариант обратного прокси TCP из этого.

    Если вы хотите, чтобы ваша служба была осведомлена о том, где расположены нижестоящие службы (с точки зрения узлов и секций), вы можете использовать ткань.ServiceManagementClient и зарегистрироваться для уведомлений, используя один из RegisterServicePartitionResolutionChangeHandlerметодов. Это уведомляет вас, когда реплика службы или раздел изменяется с экземпляромServiceNotification.

    Чтобы ответить на ваш вопрос, нет, но вы могли бы потенциально построить его самостоятельно.