我目前正在研究 Spring Batch POC,并且对大多数实际 Spring Batch 功能都有很好的处理。我目前有一个程序,它使用 Spring Integration 接收 HttpRequest 并使用消息通道最终将作业执行发送到队列中的作业启动器。我们真正想做的是在作业启动器之前实现某种“调度程序/负载平衡器”(不太确定如何称呼它),它将查看当前运行的工作节点和输入文件的大小并生成决定应该允许多少工作节点。我们可能还希望能够在作业运行时更改作业节点的数量,以允许更多作业运行。
我们的想法是,我们将运行一个可以随时接受许多作业请求的服务器,以及一个将作业分区到的大型机器集群。我们希望能够水平扩展,这样只要服务器不忙,它就可以充分利用硬件,并且能够确保小型作业不会经常被大型作业阻塞。
从我的研究看来,我们似乎必须实现另一个框架来做到这一点(GridGain 和 Hadoop 是否允许这样做?),但我想我会问看看人们推荐什么做这样的事情,如果有办法在不实施另一个大型框架的情况下做到这一点。
抱歉,如果有任何不清楚或令人困惑的地方,我只是一个上个月开始学习 Spring 和 Spring Batch 的低级实习生,我还远未完全理解所有内容,尤其是这些扩展的东西。只要问,我会尽力把事情弄清楚。
谢谢你的帮助!