我正在开发一个公开端点的服务(我们称之为 ServiceA)。该服务将托管在 Service Fabric 中,并将在(例如)五个可用节点中的三个上运行。另一个服务 (ServiceB) 需要能够联系所有三个正在运行的 ServiceA 实例。为此,我使用 ServiceB 中的 ServicePartitionResolver 来查找(单个)ServiceA 服务分区公开的所有端点。这工作得很好,直到我杀死正在运行 ServiceA 的节点之一。我希望在其他节点之一上创建另一个 ServiceA 实例,并且更新 ServicePartitionResolver.Resolve 返回的端点列表以反映更改。不过,这似乎不会发生。事实上,即使我直接查询 REST API(使用 Postman 打:http://[cluster-ip]:19080/Services/ApplicationA~ServiceA/ $/ResolvePartition?api-version=6.0) 我继续看到“陈旧”的结果。我还尝试使用 FabricClient 而不是 ServicePartitionResolver 来检查它是否不是我看到的本地缓存结果。
我错过了什么明显的东西吗?