ServiceFabric中的InstanceCount=1是指“至少一个实例”还是“不超过一个实例”?

问题描述 投票:0回答:2

ServiceFabric 中的

InstanceCount=1
是指“至少一个实例”还是“不超过一个实例”?从我看到的文档来看,这还不清楚,我有一种情况,我希望在任何时候最多运行一个应用程序实例。

azure-service-fabric redundancy
2个回答
0
投票

根据 Github by tomvcassidy Service Fabric 中的 Instance Count=1 表示至少有一个实例

InstanceCount
设置为 1 时,意味着在任何给定时刻都将创建并运行一个服务实例。为了在实例失败或删除时保持所需的实例计数为 1,Service Fabric 将自动创建一个新实例。

如果您想确保应用程序在任一时间最多运行一个实例,您可以将

InstanceCount
属性设置为 1。

此配置可确保只有一个服务实例正在运行,如果该实例失败或被删除,Service Fabric 将自动创建一个新实例以维持所需的计数 1。


0
投票

将实例计数设置为 1 时,意味着最终该服务将只有 1 个实例,但在某些情况下,特别是在服务启动期间,您将拥有超过 1 个实例。因此,它不是“在任何给定时间不超过一个实例” 就我个人而言,我见过这样的情况:服务启动并在所有节点上运行几秒钟,直到集群遵守实例计数和放置约束并最终减少配置的实例计数。 如果您尝试使用此功能来实现在任何给定时间最多运行一次的业务逻辑,则还应该在逻辑中实现分布式锁(例如使用 Azure blob 存储租赁)。

https://learn.microsoft.com/en-us/dotnet/api/system.fabric.description.statelessservicedescription.instancecount?view=azure-dotnet

© www.soinside.com 2019 - 2024. All rights reserved.