【发布时间】:2020-05-12 05:36:28
【问题描述】:
据我所知,在 Azure 服务结构中,服务通信可以通过直接访问端点(或)反向代理来实现。 目前我正在使用以下代码直接访问其他服务端点:
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 上不可用,但在 SF 集群的节点 2 上可用,这种方法是否有效?
是否直接访问服务端点 - 方法使用“命名服务”(如反向代理方法)通过服务 url 识别请求的服务地址?
使用上述直接访问调用实现来发现内部服务通信的服务有什么缺点吗?
【问题讨论】:
标签: reverse-proxy azure-service-fabric .net-remoting