#azure-service-fabric
#azure-service-fabric
Вопрос:
По умолчанию, когда вы создаете кластер service fabric вручную с помощью azure portal, вам нужно будет выбрать имя типа узла, которое будет привязано к размеру виртуальной машины и т. Д. Однако в графическом интерфейсе не отображается диапазон портов приложений, связанный с этим типом узла. Диапазон портов приложений по умолчанию составляет от 20000 до 30000.
При создании кластерного приложения service fabric с использованием Visual Studio номера портов по умолчанию всегда меньше 20000. Номер порта по умолчанию больше похож на 8868 или что-то в этом роде.
Когда вы развертываете эту службу в вышеуказанном кластере, все работает так, как ожидалось. Давайте проигнорируем сопоставление портов LB для этого обсуждения.
Это вызывает следующие вопросы:
- Должны ли мы настроить номер порта в наших проектах Visual Studio на что-то большее, чем 20000 (но меньше 30000), чтобы номера портов были синхронизированы с диапазоном портов приложения типа узла construct?
- Очевидно, что служба работает без шага (1). Но есть ли какие-либо оговорки к выполнению способа по умолчанию (т. Е. Без каких-либо изменений номера порта)?
- Если номера портов служб не обязательно должны находиться в диапазоне, определяемом конструкцией типа узла, то какова цель диапазона портов приложений в типе узла?
Ответ №1:
Диапазон портов приложений используется, когда вы разрешаете Service Fabric обнаруживать и разрешать службы. Если вы не укажете порты конечной точки, Service Fabric автоматически назначает конечные точки в этом диапазоне портов приложения, который вы предоставляете при создании кластера. Каждая служба в кластере Service Fabric работает на основе конечной точки. Скажем, если у вас есть несколько микросервисов, но вам нужно, чтобы только несколько служб были доступны с конечной точкой http (s), тогда вы позволяете Service Fabric выбирать порт для служб, которые вы не хотите предоставлять с конечной точкой http (s). Этот диапазон портов также становится удобным, когда вы хотите настроить диапазоны портов в брандмауэре или NSGS для открытия трафика.
Более подробную информацию можно найти здесь — https://azure.microsoft.com/en-gb/documentation/articles/service-fabric-connect-and-communicate-with-services/
Service Fabric предоставляет службу обнаружения и разрешения, называемую службой именования. Служба именования поддерживает таблицу, которая сопоставляет именованные экземпляры службы с адресами конечных точек, которые они прослушивают. У Service Fabric есть регистратор, который сопоставляет имена служб с их адресом конечной точки.
Ответ №2:
Когда ресурс конечной точки определен в манифесте службы, Service Fabric назначает порты из зарезервированного диапазона портов приложения, если порт не указан явно.
https://learn.microsoft.com/en-gb/azure/service-fabric/service-fabric-service-manifest-resources
Кажется, используется только в том случае, если вы явно не указали конечную точку в манифесте