当您可以使用文件和批处理工具时,为什么人们使用消息传递



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

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

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

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

因为如果你编写自己的事务文件,你必须担心:

  • 事务是否已写入文件
  • 文件是否正确、完整或确实传输。
  • 文件是否被完全读取,如果不是停止读取时的位置

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

消息传递系统为您完成所有这些工作。

相关内容

最新更新