当前位置: 首页 > 知识库问答 >
问题:

Spring Boot-每个pod运行一个特定的后台作业

齐弘业
2023-03-14

我来自PHP/Python/JS环境,在这个环境中,将web应用程序的多个实例作为单独的进程运行,将异步任务(如队列处理)作为单独的脚本运行是一种标准。

null

    null

null

null

null

尽管Java框架说它们是“云原生的”,但看起来所有文档仍然是围绕monolith应用程序构建的,它在单独的线程中处理所有消费者和cron调度。

这个问题的一个明确答案是微服务,但这远远超出了范围。

我需要的是在云中每个pod部署应用程序的单独部分(比如仅有1个队列侦听器),同时保持完整的代码架构。

null

null

    null

null

我想到了另一种解决办法:

  • 具有单独的模块和单独的应用程序定义,以便单独构建每个“命令”
  • 使用Spring配置文件仅根据某些环境变量实例化特定服务
  • 实现自定义命令行运行程序,它将解析命令名/队列名并动态创建适当的服务(这似乎与“脚本语言”中的方法最相似)

我主要想通过这样的设置实现的是:

    null

null

共有1个答案

笪健
2023-03-14

我不了解你的文章的实质。您希望拥有一个具有“单片代码体系结构”的应用程序。然后将其部署到几个pod,但实际运行的只是应用程序的一部分。你为什么不把你想要特别的部分分离出来,作为它们自己的应用程序呢?

也许这是因为我来自Java背景,没有部署过单片脚本应用程序。

 类似资料:
  • 当前设置 null 问题 因为我们有3个pod,并且调度程序处于应用程序级别,所以我们对数据集进行3次调用,每个pod都得到响应,并且首先在缓存中处理的pod成为主服务器,其他2个pod复制来自该实例的数据。 我认为这是一个问题,因为我们将增加获取更多数据集的作业数量,因此这将成倍增加调用的数量。 null null null 2-我谷歌了,发现其他的选择是运行一个Cronjob,这将安排一个工作

  • 我有以下由Dockerfile文件创建的图像: 我有以下YAML文件: 当我创建部署时,我在窗格中获得了以下信息: 并且错误: 真的有必要在docker中为此注册吗?我只想在本地进行测试,并将我的代码/存储库传递给朋友以进行测试 谢谢

  • 我试图设置一个cron作业,该作业将在工作日上午9:45到下午4点之间每分钟运行一次。 很容易让它在上午 9 点到下午 4 点之间工作,但让它在 9:45 开始给我带来了问题。 我试过: < code>45/1 9-16 * * 1-5 但是这将返回一个错误,16:错误的分钟

  • 如果我创建 cronjob 以每 2:30 运行一次命令会运行吗?(这意味着,我的 cron 将在每小时 90 分钟后运行一次。 命令如:30*/2***/command/xxx= 请帮帮忙?

  • 我们有一个项目,其中我们有几个Jenkins作业:一种类型的作业运行交付(a), 一个只进行编译和单元测试的程序(B) 和 运行集成测试、静态代码分析等(C)的人。 我们在四个 Jenkins 节点(主节点三个从节点)上运行,我们的作业是声明性管道作业的混合,并在 Jenkins 作业中手动单击。 我们一次只想为每个节点运行一个集成测试构建。然而,我们希望运行尽可能多的交付(A)和代码质量(B)构

  • 本文向大家介绍怎么使一个命令在后台运行?相关面试题,主要包含被问及怎么使一个命令在后台运行?时的应答技巧和注意事项,需要的朋友参考一下 答案: 一般都是使用 & 在命令结尾来让程序自动运行。(命令后可以不追加空格)