【问题标题】:Is there a Service Fabric notification BEFORE it takes down a service?在取消服务之前是否有 Service Fabric 通知?
【发布时间】:2018-04-05 19:27:44
【问题描述】:

我设置了一个服务,它使用RegisterServiceNotificationFilterAsync 来获取服务更改事件的通知。它按预期工作。当服务停止时,将调用此事件。

但它发生在服务离线之后。这意味着在我将它从负载均衡器池中拉出之前,针对该现在离线服务的多个请求可能已经失败。

有时 Service Fabric 只能对脱机的服务做出反应。例如,如果有人拔掉服务器节点上的插头,Service Fabric 显然无法提前告诉我该服务正在下线。

但很多时候,达到了一个阈值,是 Service Fabric 本身杀死了服务(并启动了一个新服务)。

有没有办法在 Service Fabric 终止服务之前知道?(所以我有时间更新我的负载均衡器。)

(以防万一,我在本地运行 Service Fabric。)

【问题讨论】:

  • 当您的客户调用您的服务时,您应该有一个重试逻辑。 SF 可以出于各种原因将您的呼叫重定向到另一个实例。也许这是您可以抓住这些停机时间并采取相应行动的地方;您可以将这些事件推送到另一个队列以在那里进行处理。
  • @Robert - 我的应用程序“应该”拥有它。但很多人没有。迁移到 Service Fabric 会出现很多问题,我不需要仅仅因为 Service Fabric 迁移服务而添加故障。

标签: azure-service-fabric service-fabric-on-premises


【解决方案1】:

您只能在服务内关闭时收到通知。 RegisterServiceNotificationFilterAsync 基于命名服务的端点更改。

如果它是可靠的服务,您会收到以下场景的事件:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-services-lifecycle

对于来宾可执行文件,Service Fabric 发送的信号是 Ctrl+C。对于容器,它是“docker stop”。

【讨论】:

    猜你喜欢
    • 2018-06-23
    • 2016-08-27
    • 2020-10-24
    • 2018-09-04
    • 2017-10-30
    • 2016-09-29
    • 1970-01-01
    • 2017-06-19
    • 2019-06-21
    相关资源
    最近更新 更多