gpt4 book ai didi

azure - Azure 世界中 Hangfire 的替代方案

转载 作者:行者123 更新时间:2023-12-03 03:22:34 27 4
gpt4 key购买 nike

我多次使用 Hangfire 和 SQL,没有任何问题。

我将拥有的经典用例是:

  1. 通过网络应用,用户将操作排入队列并可以检查所有待处理的操作。当操作结束时,他会通过 SignalR 收到通知,并可以检查作业的输出。一个示例是同一个 Azure 门户,其中每个操作都会排队,并且状态在右上角的响铃中可见。
  2. 每隔几秒运行一次的重复作业,以执行独立于用户交互的计划操作。作业必须具有锁定概念,因此在作业运行之前,不应为该用户启动任何其他相同类型的操作。

最近我要迁移到 Azure,使用 k8s 来实现一些微服务。我想我会在 Hangfire 中使用微服务,您认为 Hangfire 和微服务可以共存吗?

如果我不使用 Hangfire,我必须使用 Azure Function 复制类似的东西(高成本),管理作业状态的存储,那么使用不同的东西是否值得?

如何在微服务架构中管理这些场景?再见

我正在致力于在 Docker 化微服务中运行 Hangfire。

最佳答案

由于您在服务器上使用 Kubernetes,因此您可以使用 CronJobs。 https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/

与使用 Hangfire 相比,这样做的好处是,每个实际执行的作业都有一个 pod。

也没有额外的 pod 运行只是为了支持hangfire 本身,因为 K8 自己管理它。

此外,还可以使用某些模式来并行执行您的作业并最大限度地利用 K8 https://kubernetes.io/docs/concepts/workloads/controllers/job/#job-patterns

缺点:Hangfire 有一个不错的仪表板,您必须将其替换为 grafana 或任何其他仪表板之类的东西。

Hangfire 在数据库中有作业详细信息和状态 - 必须调整您的作业以无状态工作,并且仅使用 cronjob 配置文件和日志。

关于azure - Azure 世界中 Hangfire 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76643423/

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