腾讯亿级用户规模自研业务的上云实践解读,立即报名 了解详情
写点什么

GridGain 2.0 支持负载均衡、工作窃取和数据分区

  • 2008-03-12
  • 本文字数:1491 字

    阅读完需:约 5 分钟

最新版本的 GridGain 是一个基于 Java 的开源网格计算框架,其支持负载均衡和数据分区等特性。最近, GridGain Systems 发布了该框架的 2.0 版本。该版本包含“工作窃取”特性,这使得在过载(overload)节点上正在运行的调度任务可以被“窃取”到欠载(underloaded)节点上运行。

负载均衡特性支持几种不同的调度策略,比如轮询(Round Robin,默认的)、加权随机(Weighted Random)、自适应调度(Adaptive)、以及粘性负载均衡(Affinity/Strick Load)。另外,对于 Oracle Coherence 产品还有可定制的粘性负载均衡策略。

“工作窃取”SPI 能够动态地在网格各节点间均衡负载(它将调度工作从网格中的过载节点上卸载,再加载到欠载节点上)调度任务。这个特性既支持任务调度,同时也支持网格中所执行的任务的失败转移。网格“工作窃取”特性的设计概念,建立于由 Doug Lea 开发的 Java Fork/Join 框架之上,而且考虑到了 Java SE 7 。这个特性可以用来避免任务被堵塞在“慢”节点上,因为它们被“快”节点“窃取”了。失败转移 SPI 确保了工作能够被正确地转移到发送“窃取”要求的节点上。

如果你面对的是一个庞大的数据集的话,那你就必须对网格中各节点间的大量网络传输数据如指掌。GridGain 拥有如下一系列特性来对庞大的数据集之上的工作进行优化:

  • 数据分区和粘性负载平衡:这个特性通过在网格节点间对数据进行分区,并将网格工作精确地发送到数据所在的节点,从而对这些数据进行整合计算。
  • 节点分割(Node Segmentation):网格节点被分割为各个组,每个组分别工作于它们各自的数据集。如果网格中一些节点只负责将任务提交到网格(管理者),而其它节点组(工作者)只负责运行这些任务,在这样的情况下,节点分割这个特性很有用。
  • 中间检查点(Intermediate Checkpoints):在处理费时较长的工作的时候,周期性地保存中间任务状态常常很有用。检查点 SPI 提供了这个特性,这样一来,即使任务失败转移到另一个节点,也无需再重新从头开始运行。

GridGain 2.0 版本中还包含了另外一些新特性

GridGain 框架已经集成了一些开源和商业的框架及应用服务器,如 JUnit AspectJ Spring JBoss JGroups GlassFish WebLogic WebSphere 、 Coherence、 Mule JXInsight 以及 GigaSpaces 等。

另外,还有一个分布式JUnit4 GridGain 任务可以被用来跨网格运行JUnit4 测试或测试套件,以加快所有测试的总体执行速度。分布式JUnit 测试使用 @GridifyTe st 注解来配置。如果在集成的开发服务器环境下,使用分布式 JUnit 测试就很有用,在这种情况下,每夜应用程序构建通常需要花费很长时间来运行一些单元和集成功能测试,而这个应用程序的整个测试套件是其中的一部分。

GradGain 可以通过 GridTaskSessionAttributeListener 接口来设置对异步通知的支持。另外,它也能够通过拥有用于管理任务的检查点(checkpoints)特性的 GridTaskSession 接口来处理工作间的依赖。

查看原文: GridGain 2.0 Supports Load Balancing, Work Stealing and Data Partitioning

2008-03-12 01:20892
用户头像

发布了 71 篇内容, 共 18.1 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容
GridGain 2.0支持负载均衡、工作窃取和数据分区_Java_Srini Penchikala_InfoQ精选文章