azure - Service Fabric 群集中的分区重新配置

标签 azure azure-service-fabric

我有一个有状态服务结构应用程序。在应用程序参数文件中,我将 PartitionCount 设置为 20

当我将服务部署到集群时,我得到 20 个分区,其中一些分区状态显示为“正在重新配置”,最后它们将发出警告状态,显示不健康的 evnet

Unhealthy event: SourceId='System.FM', Property='State', HealthState='Warning', ConsiderWarningAsError=false. Partition reconfiguration is taking longer than expected.

但是该分区内的副本运行状况显示为“正常”

分区处于“重新配置”状态时实际发生了什么? 为什么会出现这个错误?

最佳答案

有状态服务的重新配置是在 Service Fabric 在群集中调整副本时进行的。每当系统需要更改副本放置时都会发生这种情况,这可以是故障转移以确保机器停机或升级期间副本的可用性,或者用于资源平衡以确保整个集群的工作负载平衡 - 后者立即发生当您部署新服务时,系统必须找到放置副本的位置,然后平衡所有内容。

如果重新配置花费的时间比预期的时间长,则副本很可能没有响应更改角色或关闭操作(例如,您的服务代码没有响应 RunAsync 中的取消 token ),或者副本失败开始(例如,您的通信监听器代码在 OpenAsync 上引发异常)。

关于azure - Service Fabric 群集中的分区重新配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38875371/

相关文章:

c# - 使用相同的接口(interface)但不同的构造函数参数注册多个单例

c# - 在 jquery 对话框中显示 azure storage 存储的文档,并且不应下载

azure - Service Fabric - 如何处理startup/WebHostBuilder.Build()中的异常

azure-service-fabric - 以编程方式停止 Azure Service Fabric 服务

c# - Application Insights 异常和故障

.NET 5 迁移后 Azure devOps WebJobs 失败

azure - 使用 SAS 的 Blob 存储的位置

Azure Service Fabric - 可以通过一个公共(public) IP 地址拥有多种节点类型吗?

Azure Service Fabric 与 Træfik - 与 Azure LB?

c# - 在 Visual Studio 中调试 5 节点群集的 Azure Service Fabric 应用程序