Spring 使用一个数据库的批处理和多实例 Kubernetes 应用程序

Spring Batch and multi-instanz Kubernets Application with ONE Database

我不是 100% 理解 SpringBatch 在多实例 Kubernets 应用程序中是否工作正常。我读过 ,所以我知道一般来说它工作正常,但在答案中没有提到它在使用 ONE 数据库的多实例安装中工作正常。

我们的设置如下所示:我们在 Kubernets 中有应用程序 运行 的多个实例,它们共享一个数据库。一些作业将由用户交互触发(在回答来自 UI 的请求的众多 pod 之一中),一些作业由来自 kubernetes 的 cronjob 触发(例如数据重组)(在众多 pod 之一中)响应来自 cronjob 的 REST 请求)。所有 pods 都包含附带的应用程序。

此设置是否适用于 SpringBatch?

感谢您的帮助:-)

就Spring批处理而言,所有这些都是部署细节。考虑到这一点,由您来设计您的作业和作业实例。这是我在 Choosing the right Spring Batch job parameters and Choosing the Right Kubernetes Job Deployment Pattern 部分中详细解释的内容。请注意,此博客 post 链接在您分享的答案中。

什么 Spring 批处理保证,多亏了集中式作业存储库设计(这就是您所说的“ONE 数据库”),可以防止 的重复和并发作业执行相同的作业实例.

所以你的问题的答案是肯定的,只要你为 Spring 批处理作业和 Kubernetes 作业选择正确的部署模式。