Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot Spring boot aws群集实例调度程序_Spring Boot_Scheduled Tasks - Fatal编程技术网

Spring boot Spring boot aws群集实例调度程序

Spring boot Spring boot aws群集实例调度程序,spring-boot,scheduled-tasks,Spring Boot,Scheduled Tasks,我有一个SpringBoot应用程序,它接受用户的请求并将数据保存在db中 保存的数据需要进行某些集成调用。所以我认为每15分钟有一个调度任务,它应该选择这些数据并进行必要的调用 但我的应用程序正在AWS EC2的2个实例上部署。因此,此调度程序进程将在这两个实例上运行,这将导致重复的集成调用 关于如何实现这一点以避免重复呼叫的任何建议 到目前为止,我还没有任何代码可以共享 请分享您的想法……谢谢。这里似乎回答了一个类似的问题: 我的看法: 1) 简单-您可以将计划进程从服务请求流量的实例移动到

我有一个SpringBoot应用程序,它接受用户的请求并将数据保存在db中

保存的数据需要进行某些集成调用。所以我认为每15分钟有一个调度任务,它应该选择这些数据并进行必要的调用

但我的应用程序正在AWS EC2的2个实例上部署。因此,此调度程序进程将在这两个实例上运行,这将导致重复的集成调用

关于如何实现这一点以避免重复呼叫的任何建议

到目前为止,我还没有任何代码可以共享


请分享您的想法……谢谢。

这里似乎回答了一个类似的问题:

我的看法: 1) 简单-您可以将计划进程从服务请求流量的实例移动到单独的实例,并且只在一个实例上运行它,如果愿意的话,可以在“作业服务器”上运行


2) 最具可扩展性-在两个实例上有计划的任务,但它们必须以某种方式同步谁是活动的谁是备用的(可能使用诸如AWS Elasticache之类的缓存)。或者您可以切换到使用Quartz作业调度器和JDBCJobStore持久性,它可以协调两个实例中的哪一个运行作业

第1项听起来很有希望,也是一个长期的解决方案。谢谢