我们有许多基于Spring Boot的微服务正在运行。它们中的大多数已调度,并且需要按每天一次或每周一次的模式运行。我们将每个微服务部署在单独的Docker容器中。我们没有使用任何容器编排技术,例如kubernetes。

由于该进程始终处于启动状态,因此即使不执行任何操作也不会释放内存。这实际上为在同一主机中运行的其他微服务造成了问题。

有什么方法可以使这些微服务或容器按计划运行并在完成后释放资源?任何帮助将不胜感激。

最佳答案

您可以使用cron(假设使用类Unix系统)或Windows Scheduler之类的等效项来按计划启动容器。

然后,当作业完成后,让作业过程简单地退出。 (退出主进程将停止容器)。 cron然后将在下一个计划的时间再次重新启动容器。

更多的cron教程:


https://code.tutsplus.com/tutorials/scheduling-tasks-with-cron-jobs--net-8800
https://www.ostechnix.com/a-beginners-guide-to-cron-jobs/

关于java - 计划模式下的多个微服务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56157210/

10-14 10:24