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服务