当前设置
我们有 3 个运行 spring boot 应用程序的 kubernetes pod 的 kubernetes 集群设置。我们使用 Spring Boot 调度程序每 12 小时运行一次作业以获取一些数据并缓存它。(有队列设置,但我不会继续这些细节,因为我的查询是在我们进入队列之前进行设置)
问题
因为我们有 3 个 pod 并且调度程序处于应用程序级别,所以我们对数据集进行了 3 次调用,每个 pod 获得响应,并且在缓存中处理的 pod 首先成为主节点,其他 2 个 pod 从该实例复制数据。
我认为这是一个问题,因为我们将增加作业数量以获得更多数据集,因此这将成倍增加调用次数。
我不是 Devops 方面的人,并且对 azure 的了解有限,因此我需要社区的一些帮助
需要
有哪些方法可以改善这一点?我想将 Cron 计划分开运行一次,而不是为每个 pod 1 运行 - 我可以将 cronjob 保持在集群级别吗,我在这里阅读过它https://kubernetes.io/docs/concepts/workloads/controllers/cron-工作/ 这会解决问题吗?
2 - 我用谷歌搜索并发现其他选项是运行一个 Cronjob,它将安排一个工作完成,这会有所帮助,但不确定它的真正含义。
提前感谢您抽出时间阅读。