使用ActiveMQ加速分布式系统的数据传输

八月 18th, 2011 by klose | No Comments | Filed in 海量数据存储与处理

背景 在分布式系统的数据处理过程中,有些应用在task与task之间需要传递的数据规模比较小。常规(Hadoop的做法)往往会使用中间文件存储,然后通过Http协议传输,往往会造成一定性能开销。因此,使用基于消息的数据传输会大大提高分布式应用的执行效率,然而在多阶段多任务分布式执行的情境下,阶段之间task与task之间数据传递,基于简单的message的传递,会给执行框架的执行和调度带来新的困难。task与task之间的传输消息,要保证task同时启动,一个发送一个接收,并且在可用的数据处理系统中还要保证容错。这给执行框架的维护和开发增加了很大的难度,因此,Hadoop目前还不支持基于消息的传递,MPI没有容错。 分析 基于消息的框架加速分布式应用,它所依赖的消息通信应该满足如下的特征: 1)消息可保持,Durability,即在task出现故障重启以后,仍