防止服务更改 Service Fabric 中的节点

Prevent service from changing nodes in Service Fabric

有什么方法可以阻止在 Service Fabric 中的节点之间移动服务?

我有一个连接到 api 以收集数据的无状态服务

此 API 一次仅允许 1 次登录。

如果 Service Fabric 在节点之间不断移动,则有 2 个潜在问题 -

1) 我可以解决并发登录问题

2) 假设我可以确定何时关闭一项服务而另一项服务正在启动,那么在新节点上的服务登录时会有 x 秒的间隔。我需要持续连接到api

在节点上启动服务后,我希望它保持原样!

保罗

无状态服务默认不在节点之间'move'。相反,每个节点将包含该服务的一个 运行 实例。根据 Round-robin 算法将请求分发到特定的节点实例。

如果您想连接到无状态服务的特定实例,请参阅

您可以将无状态服务的实例数限制为 1(默认值为 -1,这意味着它将在集群中的每个节点上 运行)。但请注意,这将极大地限制可伸缩性和可靠性,这可能是您仍然使用 Service Fabric 的原因之一。

您可以使用 ApplicationManifest.xml 设置服务的实例计数(参见 the docs for an example. or using or code