kubernetes - 带有一个数据库的 Spring Batch 和多实例 Kubernets 应用程序
问题描述
我不是 100% 了解 SpringBatch 在多实例 Kubernets 应用程序中是否可以正常工作。我阅读了 Kubernetes 上的批处理,所以我知道它通常工作正常,但在答案中没有提到它在使用 ONE 数据库的多实例安装中工作正常。
我们的设置如下所示:我们有多个在 Kubernetes 中运行的应用程序实例,它们共享一个数据库。一些作业将由用户交互触发(在许多响应 UI 请求的 pod 之一中),而另一些作业由来自 kubernetes 的 cronjob 触发(例如数据重组)(在许多响应 REST 请求的 pod 之一中)来自 cronjob)。所有 pod 都包含附带的应用程序。
此设置是否适用于 SpringBatch?
感谢您的帮助 :-)
解决方案
就 Spring Batch 而言,所有这些都是部署细节。考虑到这一点,由您来设计您的工作和工作实例。这就是我在选择正确的 Spring Batch 作业参数和选择正确的 Kubernetes 作业部署模式部分中详细解释的内容。请注意,此博客文章链接在您共享的答案中。
由于集中式作业存储库设计(即您所说的“ONE 数据库”),Spring Batch 可以保证防止同一作业实例的重复和并发作业执行。
因此,您的问题的答案是肯定的,只要您为 Spring Batch 作业和 Kubernetes 作业选择正确的部署模式。
推荐阅读
- s4sdk - 无法在 CF 中托管简单的 HelloWorld 应用程序或通过本地主机访问
- sql - 触发器未触发(编译成功)
- angular - 什么时候用Subject, BehaviorSubject 和实例
- ruby-on-rails - 如何检查传递给 `link_to` 的 url 是否有效
- phpstorm - 仅限 PhpStorm 大写 SQL 关键字
- vba - 奇怪的 VBA 演示文稿关闭运行时错误 #91
- html - 为什么当我为 doc 文件替换 HTML 模板中的字符串时,Python 会更改字体设置
- c++ - VS2017:VS 显示错误的项目平台?
- google-cloud-firestore - 集成批量提交和 Cloud Firestore 触发器
- swift - 无法使用匹配类型转换类型的值 - 我是否遇到了编译器限制?