服务面料不健康服务影响其他服务

时间:2017-03-22 11:39:50

标签: azure azure-service-fabric

我正在尝试理解服务结构逻辑,将集群中的节点视为不健康。

我最近部署了一个新版本的应用程序,它在所有节点上运行了3个不健康的工作服务,它们是从队列中加载消息的非常轻的服务,但由于它们经常出现故障,所以在同一节点上运行的所有其他服务都受到某些原因,所有服务都报告为不健康。

我认为此行为是服务结构运行状况监视,认为该节点不健康,因为多个服务在同一节点上发生故障。这是对的吗?

SF使用什么措施将节点视为不健康。

1 个答案:

答案 0 :(得分:1)

Service Fabric的健康模型详细描述here。这些措施总是"健康报告"。 Service Fabric自行发出一些健康报告,但该模型也是可扩展的,您可以添加自己的健康报告。

无论您是否添加了任何新的健康报告,或者仅依赖于默认情况下系统中存在的内容,您都可以通过选择特定节点来查看为给定节点发送的健康报告在SFX中或通过运行如下命令:

Get-ServiceFabricNodeHealth -NodeName Node1

正如我们在文档中看到的那样,Node健康主要由

决定
  • 针对该特定节点的健康报告(例如:节点已关闭)
  • 已部署的应用程序的失败
  • 特定部署服务包(通常是其中的代码包)的失败

在这些情况下,SF尝试获取有关失败信息(退出代码,异常及其堆栈跟踪等)的尽可能多的信息,并报告该节点的运行状况警告或错误。