gpt4 book ai didi

azure - Service Fabric 中的长时间运行任务和缩放集群

转载 作者:行者123 更新时间:2023-12-03 00:11:30 25 4
gpt4 key购买 nike

我们正在使用 Azure Service Fabric(无状态服务),它从 Azure 服务总线消息队列获取消息并处理它们。这些任务通常需要 5 分钟到 5 小时。

当服务器繁忙时,我们希望扩展服务器,而当服务器安静时,我们希望再次缩减服务器规模。

我们如何在不中断长时间运行的任务的情况下进行扩展?有没有办法告诉 Service Fabric 哪个服务器可以自由扩展?

最佳答案

  1. Azure Monitor Custom Metric

    • 将您的 SF 服务与 EventFlow 。例如,让它将日志发送到 Application Insights

    • 在处理您的任务时,发送一些日志以表明正在进行中

    • 配置custom metric仅在没有指示该计算机的日志的情况下才在 Azure Monitor 中进行扩展有正在进行的任务

这里的权衡是等待所有事件完成,直到可以进行缩减。

  • 有一篇很好的文章解释了如何 Scale a Service Fabric cluster programmatically
  • 这是另一种需要一些编码的方法 - Automate manual scaling

    • 开发另一项服务作为 SF 应用程序的一部分或作为 VM 扩展。这里的重点是让服务运行在集群中的所有节点上并跟踪任务执行的状态。

    • 有明确定义的步骤如何手动从集群中排除 SF 节点 -

    • 运行带有“RemoveNode”意图的Disable-ServiceFabricNode,以禁用要删除的节点(该节点类型中的最高实例)。

    • 运行 Get-ServiceFabricNode 以确保节点确实已转换为禁用状态。如果没有,请等待该节点被禁用。这一步你不能着急。
    • 按照快速启动模板库中的示例/说明,将该节点类型中的虚拟机数量更改为 1。删除的实例是最高的虚拟机实例。
    • 等等...在此处查找更多信息 Scale a Service Fabric cluster in or out using auto-scale rules 。这里的要点是这些步骤可以自动化
  • 在新服务中实现扩展逻辑,以监视哪些节点已完成其任务并保持空闲状态,以便使用前面步骤中描述的指令来扩展它们。

    希望这是有道理的。

    <小时/>

    非常感谢@tank104帮助我详细阐述我的答案!

    关于azure - Service Fabric 中的长时间运行任务和缩放集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45578017/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com