Конфигурация конечной точки для Service Fabric

Я развернул приложение в Service Fabric, и внутри него появился HTTP-прослушиватель. Как я могу настроить URL-адрес прослушивания по отношению к приложению / кластеру? Точнее, есть ли способ создать этот URL-адрес внутри приложения, получив какой-либо параметр среды / роли?

Предположим, мой кластер называется «тестовым», тогда он будет доступен по адресу: test.northeurope.cloudapp.azure.com. Если у меня есть приложение под названием «Образец», для которого я настроил конечную точку под названием «SampleTypeEndpoint» внутри ServiceManifest.xml, какой будет полный URL-адрес, который мое приложение будет слушать?


person Horia Toma    schedule 14.06.2016    source источник
comment
Вы спрашиваете конкретно о DNS-имени вашего кластера, к которому будут обращаться внешние пользователи?   -  person Vaclav Turecek    schedule 15.06.2016
comment
на мой взгляд, каждое приложение может определять свои конечные точки, как они решаются по отношению к имени кластера? В моем случае имя кластера - test.northeurope.cloudapp.azure.com, можно ли получить его программным способом внутри приложения? А также, как имя конечной точки используется по отношению к URL-адресу кластера? Спасибо   -  person Horia Toma    schedule 15.06.2016


Ответы (1)


Конечные точки, которые вы настраиваете в ServiceManifest.xml прямо сейчас, служат двум целям:

  1. Разрешите Service Fabric предоставлять уникальный порт из диапазона портов приложения, если вам не нужен хорошо известный порт.
  2. При открытии веб-сервера, использующего http.sys, разрешите Service Fabric настраивать списки ACL URL для случайного порта или хорошо известного порта (80, 443 и т. Д.) И списки ACL сертификатов для HTTPS.

Вот в основном это. Фактический адрес, по которому вы открываете прослушиватель, зависит от вас. Обычно вы открываете прослушиватель на IP-адресе узла и используете NAT для входящего трафика на доменном имени. В Azure NAT - это балансировщик нагрузки Azure, который автоматически настраивается для приема трафика на виртуальном IP-адресе вашего кластера, а также в домене .region.cloudapp.azure.com.

Вот более подробный обзор того, как это работает в кластере Service Fabric в Azure: https://azure.microsoft.com/en-us/documentation/articles/service-fabric-connect-and-communicate-with-services/

person Vaclav Turecek    schedule 15.06.2016
comment
спасибо, похоже, правила балансировки нагрузки должны быть установлены для перенаправления HTTP-трафика. Мне было интересно, можно ли развернуть в кластере разные приложения, каждое со слушателем на HTTP 80, как в этом случае будут распределяться запросы? - person Horia Toma; 20.06.2016
comment
Также возможно получить эту информацию о конечной точке с помощью API-интерфейсов SF, и это то, что делается при использовании моделей программирования SF. (в примере docs.microsoft .com / en-us / azure / service-fabric /). Было бы полезно, если бы SF также передавал эту информацию гостевым исполняемым файлам через переменные среды, как это делают другие платформы. - person itaysk; 30.12.2016