【问题标题】:Connect to node instance via RPC endpoint in Azure Service Fabric通过 Azure Service Fabric 中的 RPC 端点连接到节点实例
【发布时间】:2017-07-23 00:44:08
【问题描述】:

我在具有动态端点的多个节点上有一个无状态服务。

我想将ServiceProxy 与他们的动态端点一起使用,如下所示:

localhost:32010+dd1d0a27-1dec-49db-8960-83bf001355be-131329828855327547

如何使用ServiceProxy 连接到使用该端点的特定节点实例?

我正在像这样实例化ServiceProxy

ServiceProxy.Create<T>(new Uri("fabric:/XXX));,它只会找到一个实例节点。我想指定要通过端点连接的节点。我该怎么做?

【问题讨论】:

  • 您是否尝试过传递 listenerName 参数?
  • @cassandrad 这无济于事,因为所有侦听器名称都是相同的,因为它们都是相同的,只是在不同的节点上
  • 我认为可以指定具有不同端口的 n 个端点(每个实例一个)并在每个特定节点上仅注册一个,然后 Remoting 将能够在命名服务的帮助下找到特定实例.好吧,那是我尝试的计划。我不知道它不会起作用。

标签: rpc azure-service-fabric


【解决方案1】:

无法使用服务远程处理连接到无状态服务的特定实例。您只能针对有状态服务的特定分区/副本。

this SO answer

您的选择基本上是:

  • 更改为 HTTP 通信
  • 重新设计为有状态服务

您可能想问自己的另一件事是为什么您要针对特定​​实例或节点?是因为你不想获得一些性能优势吗?从客户端到您要定位的服务,您是否有其他类型的亲和力?

【讨论】:

  • 我想定位一个特定的实例,因为我正在编写一个负载均衡器并且我正在使用本地集群(我们不能使用 Azure)并且没有任何负载均衡可用于据我所知,本地集群部署。
  • 您可能会通过查看this project 的 SF 反向代理获得一些帮助,这并不是您想要做的,但有些部分类似。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-18
  • 2018-10-15
  • 1970-01-01
  • 2019-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多