我正在研究新 GridGain 版本中的改进,并想知道 GridGain 6 如何处理具有许多作业的任务。
考虑一个任务产生大量工作(数十万个)的情况。在 GridGain 4 中,我们观察到作业在节点上的内存中排队,这可能会导致“内存不足”问题。我们通过创建基于磁盘的队列并在作业完成时提交排队的作业来限制作业提交,从而解决了这个问题。
可以(如何?)GridGain 6 处理这种情况,是否有任何具体建议?我看到有一个 Streaming API 可用,但这可以处理我们的情况。
谢谢
我正在研究新 GridGain 版本中的改进,并想知道 GridGain 6 如何处理具有许多作业的任务。
考虑一个任务产生大量工作(数十万个)的情况。在 GridGain 4 中,我们观察到作业在节点上的内存中排队,这可能会导致“内存不足”问题。我们通过创建基于磁盘的队列并在作业完成时提交排队的作业来限制作业提交,从而解决了这个问题。
可以(如何?)GridGain 6 处理这种情况,是否有任何具体建议?我看到有一个 Streaming API 可用,但这可以处理我们的情况。
谢谢
我认为您需要利用GridComputeTaskContinuousMapper类,它允许您在任务中拥有恒定数量的未完成作业,然后在其他作业完成后发出新作业。
看看GridGain 附带的ComputeContinuousMapperExample (也可以在 GitHub 上找到)。