Azure услуга Фабри c - услуга связи - PullRequest
0 голосов
/ 26 января 2020

Как я знаю, в 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 службы?

Любые недостатки использования вышеуказанной реализации вызова прямого доступа к узнать сервисы для внутренней служебной связи?

1 Ответ

0 голосов
/ 30 января 2020

Разрешенная конечная точка должна работать, но вы можете сделать это проще:

DNS позволяет получить конечную точку путем передачи сведений о приложении и целевой службе. SF Remoting работает аналогичным образом. Основным преимуществом последнего является то, что клиент удаленного взаимодействия SF имеет встроенную временную обработку ошибок (он повторяет вызовы всякий раз, когда удаленная служба временно недоступна).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...