Java 当您可以使用文件和批处理工具时,为什么人们使用消息传递?
我们有两个内存中的java组件(一个数据网格和一个olap多维数据集) 我们目前使用批处理工具加载数据网格,当用户想要更新数据时,我们动态创建批处理作业。我的想法是,我们应该扩展批处理工具,以便它也负责将数据加载到olap多维数据集中。在数据传输方面,数据网格应该写出一个文件,将其复制到olap多维数据集运行的服务器上,然后olap多维数据集应该读取该文件 我们拥有的另一个选项是,当数据网格完成加载或应用更新时,它会向队列发送消息。olap多维数据集随后将读取此消息,并调用数据网格上的服务以将数据拉入。我强烈反对这个选项,因为它不是基于文件的,这意味着支持团队将很难理解它Java 当您可以使用文件和批处理工具时,为什么人们使用消息传递?,java,architecture,batch-processing,messaging,in-memory-database,Java,Architecture,Batch Processing,Messaging,In Memory Database,我们有两个内存中的java组件(一个数据网格和一个olap多维数据集) 我们目前使用批处理工具加载数据网格,当用户想要更新数据时,我们动态创建批处理作业。我的想法是,我们应该扩展批处理工具,以便它也负责将数据加载到olap多维数据集中。在数据传输方面,数据网格应该写出一个文件,将其复制到olap多维数据集运行的服务器上,然后olap多维数据集应该读取该文件 我们拥有的另一个选项是,当数据网格完成加载或应用更新时,它会向队列发送消息。olap多维数据集随后将读取此消息,并调用数据网格上的服务以将数
所以问题是,我们为什么要使用消息传递?因为如果您编写自己的事务文件,您必须担心:
- 事务是否已写入文件
- 文件是否正确、完整或完全传输
- 文件是否被完全读取,如果没有,停止读取时您在哪里
消息系统为您提供了所有这些功能。因为如果您编写自己的事务文件,您必须担心:
- 事务是否已写入文件
- 文件是否正确、完整或完全传输
- 文件是否被完全读取,如果没有,停止读取时您在哪里
消息系统为您提供了所有这些功能。因为如果您编写自己的事务文件,您必须担心:
- 事务是否已写入文件
- 文件是否正确、完整或完全传输
- 文件是否被完全读取,如果没有,停止读取时您在哪里
消息系统为您提供了所有这些功能。因为如果您编写自己的事务文件,您必须担心:
- 事务是否已写入文件
- 文件是否正确、完整或完全传输
- 文件是否被完全读取,如果没有,停止读取时您在哪里
消息系统为您提供了所有这些功能。基于文件的消息需要您仔细管理文件生命周期(包括崩溃恢复)。听起来你已经很舒服了。队列解决方案处理持久化数据的细节,有些解决方案提供参与事务的能力。好的队列解决方案提供了查看队列中的内容的工具,就像您可以查看磁盘上的文件一样。基于文件的消息传递要求您仔细管理文件生命周期(包括崩溃恢复)。听起来你已经很舒服了。队列解决方案处理持久化数据的细节,有些解决方案提供参与事务的能力。好的队列解决方案提供了查看队列中的内容的工具,就像您可以查看磁盘上的文件一样。基于文件的消息传递要求您仔细管理文件生命周期(包括崩溃恢复)。听起来你已经很舒服了。队列解决方案处理持久化数据的细节,有些解决方案提供参与事务的能力。好的队列解决方案提供了查看队列中的内容的工具,就像您可以查看磁盘上的文件一样。基于文件的消息传递要求您仔细管理文件生命周期(包括崩溃恢复)。听起来你已经很舒服了。队列解决方案处理持久化数据的细节,有些解决方案提供参与事务的能力。好的队列解决方案提供了查看队列中的内容的工具,就像您可以查看磁盘上的文件一样。