Azure 访问本地服务结构群集中的特定节点

Azure 访问本地服务结构群集中的特定节点,azure,azure-service-fabric,service-fabric-stateful,Azure,Azure Service Fabric,Service Fabric Stateful,我正在开发一个ServiceFabric应用程序,其中我运行的应用程序包含一系列ASP.NET核心Web API。现在,当我在配置了5个节点的本地服务结构集群上运行我的应用程序时,该应用程序成功运行,并且我能够向公开的Web API发送post请求。实际上,我想点击运行在同一集群节点上的代码,该节点上的不同公开API具有不同的post请求 为了进一步解释,例如,在节点“0”上公开了一个API,该API接受post请求并从节点“0”上运行的exe服务执行作业,还有一个API中止正在运行的作业。现在

我正在开发一个ServiceFabric应用程序,其中我运行的应用程序包含一系列ASP.NET核心Web API。现在,当我在配置了5个节点的本地服务结构集群上运行我的应用程序时,该应用程序成功运行,并且我能够向公开的Web API发送post请求。实际上,我想点击运行在同一集群节点上的代码,该节点上的不同公开API具有不同的post请求

为了进一步解释,例如,在节点“0”上公开了一个API,该API接受post请求并从节点“0”上运行的exe服务执行作业,还有一个API中止正在运行的作业。现在,当我请求执行作业时,它开始在节点“0”上执行,但当我尝试中止作业时,服务结构群集将请求转发到另一个节点,例如节点“1”。因此,我无法中止正在运行的作业,因为节点“1”上没有可用的正在运行的作业。我不知道如何处理这种情况

对于这种情况,有一些解决方案,比如在开始处理作业并将ID返回给调用者之前,维护一个将保存一些唯一ID的存储器。现在,当一个人想要中止作业时,他/她调用发送要中止的id的api,但这里的问题再次出现在我正在运行的服务中,有多个线程正在运行。我想中止那些正在运行的线程。这些线程仅在运行作业的特定节点上找到。所以我必须到达那个特定的节点

对于州,我使用ASP.Net Core Web API类型的Statefull服务,并在本地服务结构群集的5个节点上运行该应用程序


请建议最好的方法。

正如帕特里克所指出的,我在这里回答了一个类似的问题:

您遇到问题是因为您设计系统的方式。 您不应该依赖于运行任务的节点,而应该依赖于任务本身,因为它可能会被停用或移动,并且如果将两者保持在同一节点中,则很难进行扩展

有很多方法可以解决这个问题,在我提到的问题中,有一些方法可以从这里开始