我有一个Stateful服务结构应用程序。在应用程序参数文件中,我将PartitionCount设为20
当我将服务部署到集群时,我得到20个分区,并且一些分区状态显示为"重新配置"最后他们将警告状态显示Unhealthy evnet
不健康的事件:SourceId =' System.FM',Property =' State', HealthState ='警告',ConsideWarningAsError = false。划分 重新配置的时间比预期的要长。
但该分区内的副本运行状况显示为" OK"
当分区处于"重新配置"时,实际发生了什么?国家? 为什么会出现此错误?
答案 0 :(得分:3)
有状态服务的重新配置是Service Fabric在群集周围混合副本的时候。这种情况发生在系统需要对副本放置进行更改时,可以进行故障转移以确保在机器停机或升级期间可以使用副本,或者进行资源平衡以确保集群中的工作负载均衡 - 后者立即发生当您部署新服务时,系统必须找到放置副本的位置,然后平衡所有内容。
如果重新配置花费的时间比预期的要长,则副本很可能无法响应更改角色或关闭操作(例如,您的服务代码未响应RunAsync中的取消令牌),或者副本无法启动(例如,您的通信侦听器代码在OpenAsync上抛出异常)。