Как я знаю, в Azure service fabri c, сервисная связь может быть возможна либо путем прямого доступа к конечным точкам (или) обратного прокси-сервера. В настоящее время я напрямую обращаюсь к другим конечным точкам службы, используя следующий код:
var service = $"fabric://myapp/**service1**";
var servicePartitionResolver = ServicePartitionResolver.GetDefault();
var partition = await servicePartitionResolver.ResolveAsync(new System.Uri(service),
new ServicePartitionKey(), default(CancellationToken));
var serviceEndpointJson = partition.GetEndpoint().Address;
string endpointUrl = JObject.Parse(serviceEndpointJson)["Endpoints"][string.Empty].Value<string>();
Будет ли этот подход работать, если экземпляр service1 недоступен на ожидаемом узле 1, но доступен на узле 2 кластера SF ?
Имеет ли непосредственный доступ к конечным точкам службы - подход использует «службу имен», подобный подходу с обратным прокси-сервером, для идентификации запрошенного адреса службы по URL службы?
Любые недостатки использования вышеуказанной реализации вызова прямого доступа к узнать сервисы для внутренней служебной связи?