Service Fabric 集群中的分区重新配置
Partition Reconfiguring in Service Fabric Cluster
我有一个有状态服务结构应用程序。在应用程序参数文件中,我将 PartitionCount 设置为 20
当我将服务部署到集群时,我得到 20 个分区,一些分区状态显示为 "Reconfiguring",最后它们将进入警告状态,显示 Unhealthy evnet
Unhealthy event: SourceId='System.FM', Property='State',
HealthState='Warning', ConsiderWarningAsError=false. Partition
reconfiguration is taking longer than expected.
但是该分区内的副本运行状况显示为 "OK"
分区处于 "Reconfiguring" 状态时实际发生了什么?
为什么会出现这个错误?
有状态服务的重新配置是指 Service Fabric 在群集周围重新排列副本。每当系统需要更改副本放置时都会发生这种情况,这可以是故障转移以确保机器停机或升级期间副本的可用性,或者用于资源平衡以确保工作负载在集群中平衡 - 后者立即发生当您部署新服务时,因为系统必须找到放置副本的位置,然后平衡所有内容。
如果重新配置花费的时间比预期的要长,则副本很有可能没有响应更改角色或关闭操作(例如,您的服务代码没有响应 RunAsync 中的取消令牌),或者副本无法启动(例如,您的通信侦听器代码在 OpenAsync 上引发异常)。
我有一个有状态服务结构应用程序。在应用程序参数文件中,我将 PartitionCount 设置为 20
当我将服务部署到集群时,我得到 20 个分区,一些分区状态显示为 "Reconfiguring",最后它们将进入警告状态,显示 Unhealthy evnet
Unhealthy event: SourceId='System.FM', Property='State', HealthState='Warning', ConsiderWarningAsError=false. Partition reconfiguration is taking longer than expected.
但是该分区内的副本运行状况显示为 "OK"
分区处于 "Reconfiguring" 状态时实际发生了什么? 为什么会出现这个错误?
有状态服务的重新配置是指 Service Fabric 在群集周围重新排列副本。每当系统需要更改副本放置时都会发生这种情况,这可以是故障转移以确保机器停机或升级期间副本的可用性,或者用于资源平衡以确保工作负载在集群中平衡 - 后者立即发生当您部署新服务时,因为系统必须找到放置副本的位置,然后平衡所有内容。
如果重新配置花费的时间比预期的要长,则副本很有可能没有响应更改角色或关闭操作(例如,您的服务代码没有响应 RunAsync 中的取消令牌),或者副本无法启动(例如,您的通信侦听器代码在 OpenAsync 上引发异常)。