有没有办法阻止服务在 Service Fabric 的节点之间移动?
我有一个连接到 api 来收集数据的无状态服务
此 API 一次只允许 1 次登录。
如果 Service Fabric 不断在节点之间移动,则存在 2 个潜在问题 -
1) 我可以解决并发登录问题
2)假设我可以确定何时关闭 1 个服务并启动另一个服务,则在新节点上的服务登录时将有 x 秒的间隙。我需要不断连接到 api
一旦服务在节点上启动,我希望它保持原样!
保罗
有没有办法阻止服务在 Service Fabric 的节点之间移动?
我有一个连接到 api 来收集数据的无状态服务
此 API 一次只允许 1 次登录。
如果 Service Fabric 不断在节点之间移动,则存在 2 个潜在问题 -
1) 我可以解决并发登录问题
2)假设我可以确定何时关闭 1 个服务并启动另一个服务,则在新节点上的服务登录时将有 x 秒的间隙。我需要不断连接到 api
一旦服务在节点上启动,我希望它保持原样!
保罗
默认情况下,无状态服务不会在节点之间“移动”。相反,每个节点将包含该服务的一个运行实例。根据 Round-robin 算法将请求分发到特定的节点实例。
如果您想连接到无状态服务的特定实例,请参阅此问答。
您可以将无状态服务的实例数限制为 1(默认值为 -1,这意味着它将在集群中的每个节点上运行)。但请注意,这将极大地限制可扩展性和可靠性,这可能是您使用 Service Fabric 的原因之一。
您可以使用 ApplicationManifest.xml 设置服务的实例计数(请参阅文档以获取示例。或使用PowerShell或代码