GridGain中的缓存队列和负载平衡

时间:2014-04-28 17:05:00

标签: gridgain

在文档(http://atlassian.gridgain.com/wiki/display/GG60/Distributed+Queues)中,提到缓存队列上的作业可以由工作网格使用,提供另一种负载平衡方法。

我调查了这个概念:

  1. 实现了一个生产者,它将GridRunnable作业排入分区缓存(分布式阻塞队列)。我不得不使用分区队列(因为根据定义,本地队列不适合多网格访问)。
  2. 实现了一个消费者,它在启动时产生了n个侦听器线程,这些线程永久地阻塞队列上的作业,从中获取(take()操作)作业并将它们提交给Grid,然后阻塞下一个take()操作
  3. 问题:

    1. 是(2)实现侦听器的正确方法(替代方案可能涉及提交侦听器作业而不是消费者中的侦听器线程)
    2. 虽然这种体系结构提供动态负载平衡,但它并没有提供常规网格交换模型提供的许多好处,例如故障转移,亲和性配置(缓存是分布式的 - 因此数据必须移动到计算)
    3. 我的观察是否正确? 感谢

1 个答案:

答案 0 :(得分:2)

看起来你是在正确的道路上,也就是说你需要使用基于GridGain分布式队列的负载均衡。

然而,看起来您最好只使用标准的GridCompute API将GridRunnable作业发送到网格。 GridGain将在后台自动平衡这些作业。