【问题标题】:Handle long running tasks gracefully优雅地处理长时间运行的任务
【发布时间】:2021-09-11 13:07:14
【问题描述】:

我从事微服务架构工作。每项服务都很少有长时间运行的任务(数据处理、报告生成),可能需要长达 1-2 小时。我们将 Kafka 用于队列。 如何处理在任务完成之前发生 Pod 重启或任何部署的情况?该任务将重新开始,并且将再次花费那么多时间。有没有办法独立于应用程序 pod 运行这些任务?

【问题讨论】:

    标签: spring-boot kubernetes deployment microservices long-running-processes


    【解决方案1】:

    您可以使用 Kubernetes 作业来执行这些类型的任务,这样一旦任务完成,Kubernetes 也会自动删除 pod。

    作业也是可配置的,并且将独立运行,因此如果您再次部署作业,它会从 Kafka 获取数据并且作业将开始新作业。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-10
    • 2010-09-15
    • 2012-09-19
    • 2011-01-19
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多