首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头群集群中耗时的任务恢复

码头群集群中耗时的任务恢复
EN

Stack Overflow用户
提问于 2020-03-24 02:02:56
回答 1查看 64关注 0票数 1

我们的应用程序包含大量部署在坞群集群中的微服务(独立的应用程序大多是基于java的),每个服务都可以在运行时进行缩放,甚至整个堆栈有时也会重新启动。

但是,当删除或重新启动某个服务时,可能会在正确的容器中运行一些耗时的任务。例如:

当一个大填充被uploaded.

  • Container删除/重新启动时,当从一个上传的文件导入数据时,
  1. 容器删除/重新启动,该文件保存在容器内的/tmp dir中。在为某个数据table.
  2. ....

创建索引时删除/重新启动

  • 容器

我们必须尽快找回他们。以上述引文为例:

无法恢复的导入作业,使用已上传的文件again.

  • Should被恢复,重新启动导入作业,从terminated.

  • The的位置与2.

相同。

听起来我们需要一个分发框架,它可以持久化所有任务状态,检查每个任务的健康状况,在需要时恢复。

可以提出任何轻量级的解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2020-04-01 02:17:29

不同服务之间的任务协调从来都不是真正的轻量级IMO,实现这样的更改可能是一项任务分配&对于您工作的组织来说,很难掌握(稍后我将解释)。

我们现在正在经历这个过程,我们首先尝试用Spring批处理来完成这个任务,但是和您一样,我们需要跨多个服务和高度可用的分布,所以我们转而在AWS中使用Step函数。

您仍然可以在本地进行开发,但也可以通过一些工作来使用Step函数,为此,我为开发人员实现了一个非常简单的工作流程,这涉及到在AWS (SQS队列)上使用他们自己的私有组件,这些组件是由他们的$USERNAME变量预先准备的。这应该像设置一些环境变量一样容易。

但是,要使用什么编排框架的决定应取决于以下几个因素:

  • ,您已经可以使用它了吗?
  • ,如果/正在使用,他们有解决方案吗?
  • ,您的开发人员有哪些专业知识,例如。如果您对Python很感兴趣,您可能需要使用Python解决方案等

虽然实现业务流程框架可能很有挑战性,但它并不是最困难的部分,YMMV。我发现最具挑战性的是让企业决定做出不同的权衡。以恢复为例,如果某件事情发生故障,可能应该在5分钟内再次尝试一个任务,这对于在一个步骤函数上实现来说是非常简单的。但这可能意味着,一个作业失败所需的时间要比实现该任务之前的时间要长,而失败的作业现在正在通过第二次尝试获得成功。我发现非技术人员不理解或不想理解这一点,我会告诉你,当这些配置相互竞争时,事情应该迅速失败,同时恢复。谁也拥有这个过程?如果它的影响不仅仅是您的团队,这将再次是棘手的,您可能有不同的团队与竞争的优先次序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60823995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档