为什么人们在使用“文件”和“批处理”工具时会使用Messaging?

时间:2015-03-16 22:55:38

标签: java architecture batch-processing messaging in-memory-database

我们有2个内存中的java组件(数据网格和olap多维数据集)。

我们目前使用批处理工具加载数据网格,当用户想要更新数据时,我们动态创建批处理作业。我在想的是我们应该扩展我们的批处理工具,以便它还负责将数据加载到olap多维数据集中。在数据传输方面,数据网格应该写出一个文件,将其复制到olap立方体运行的服务器上,然后olap立方体应该在这个文件中读取。

我们的另一个选择是当数据网格完成加载或应用更新时,它会向队列发送消息。然后olap多维数据集将读取此消息,并调用数据网格上的服务以提取数据。我强烈反对此选项,因为它不是基于文件的,这意味着支持团队将无法理解它。

所以问题是,我们为什么要使用消息传递?

1 个答案:

答案 0 :(得分:3)

因为如果您编写自己的交易文件,则必须担心:

  • 交易是否已写入文件
  • 文件是否正确,完全或根本无法传输。
  • 文件是否已完全读取,如果不是您在停止阅读时所处的位置

以及与实际媒体有关的各种可靠性问题。

消息系统可以为您完成所有这些工作。