Azure service fabric 通过ServiceProxy客户端进行通信时,在同一节点上以无状态副本为目标

Azure service fabric 通过ServiceProxy客户端进行通信时,在同一节点上以无状态副本为目标,azure-service-fabric,Azure Service Fabric,我已经将两个无状态和SinglePartion微服务部署到一个服务结构集群中,该集群托管在Azure上。现在我想连接这些服务之间的通信,如下所示: 当通过ServiceProxy客户端调用方法时,我的Masterdata Web API服务更倾向于与同一节点上的Masterdata ServiceProxy服务副本/实例通信。如果同一节点上没有可用的副本/实例,请连接到另一个节点。代码如下所示: var serviceClient=ServiceProxy.Create(新Uri(“结构:/sf

我已经将两个无状态
SinglePartion
微服务部署到一个服务结构集群中,该集群托管在Azure上。现在我想连接这些服务之间的通信,如下所示:

当通过ServiceProxy客户端调用方法时,我的Masterdata Web API服务更倾向于与同一节点上的Masterdata ServiceProxy服务副本/实例通信。如果同一节点上没有可用的副本/实例,请连接到另一个节点。代码如下所示:

var serviceClient=ServiceProxy.Create(新Uri(“结构:/sfApp/MasterDataServiceProxy”);
var result=await serviceClient.GetMasterData();
但实际上沟通是这样的:

ServiceProxy连接到随机选择的副本/实例(由于
TargetReplicaSelector.Default
)。我缺少一些通信选项,如“
TargetReplicaSelector.PreferSameNode
”。有没有办法手动处理这个问题?

这里有一个很好的解释:

如果你还真的想要的话

  • 在本地主机或服务器上使用http侦听器
  • 使用有状态服务(使用StateManager是可选的)
    • 这里有一个很好的解释:

      如果你还真的想要的话

      • 在本地主机或服务器上使用http侦听器
      • 使用有状态服务(使用StateManager是可选的)
        • 不使用服务远程处理(ServiceProxy),而是使用HTTP sure!只需获取当前节点IP并向其他服务URL发出请求

          当然,这确实意味着您的Masterdata服务代理服务必须更改为Masterdata Web API服务

          不是使用服务远程处理(ServiceProxy),而是使用HTTP sure!只需获取当前节点IP并向其他服务URL发出请求

          当然,这确实意味着您的Masterdata服务代理服务必须更改为Masterdata Web API服务