dan*_*els 7 java spring spring-mvc spring-batch spring-boot
我正在使用Spring(Boot,MVC)开发一个Web应用程序,并且会有一些需要在后台运行的东西,所以我不会阻止请求.
目前我正在考虑拥有一个每5分钟运行一次的Spring Batch作业,并检查数据库中的表(jobs_queue),如果有事情要做,然后运行任务(根据表中每行所需的内容).
显然这不是一个很好的可扩展解决方案(我认为),因为我只有一个工作者(如果队列中有太多的工作,这个单个工作者可能无法处理负载)并且它还将至少生成一个DB每5分钟查询一次(也查看队列中是否有作业).
这样做的更好方法是什么?
添加到@ kotabek的答案,Spring Batch能够通过消息启动作业.因此,您可以JobLaunchingMessagHandler监听启动作业的请求并相应地运行它.这允许您在本地(使用直接通道)或远程(通过像Rabbit这样的一些消息传递中间件)处理此用例.您可以在此处的文档中阅读更多相关信息:http://docs.spring.io/spring-batch/reference/htmlsingle/#launching-batch-jobs-through-messages
| 归档时间: |
|
| 查看次数: |
979 次 |
| 最近记录: |