JBoss HornetQ/ActiveMQ Artemis将队列消息保存到文件系统

JBoss HornetQ/ActiveMQ Artemis将队列消息保存到文件系统,jboss,activemq-artemis,hornetq,Jboss,Activemq Artemis,Hornetq,有人能帮助我理解将Hornetq/ActiveMQ Artemis消息保存到文件系统并每次绕过队列的影响吗 消息超过2GB,我在HornetQ中遇到超过2GB的最大大小异常。所以我计划不将消息添加到队列中,而是手动将其写入磁盘,并在头中传递文件的路径,然后从文件中读取消息。我真的不知道对性能的影响,所以如果问我是否对所有小于2GB的邮件都这样做,会对性能产生影响吗?根据您提供的信息,我认为除了您之外,没有人可以确定手动将文件写入磁盘与将文件发送到代理之间的“性能影响” 一般来说,您首先可以节省将

有人能帮助我理解将Hornetq/ActiveMQ Artemis消息保存到文件系统并每次绕过队列的影响吗


消息超过2GB,我在HornetQ中遇到
超过2GB的最大大小
异常。所以我计划不将消息添加到队列中,而是手动将其写入磁盘,并在头中传递文件的路径,然后从文件中读取消息。我真的不知道对性能的影响,所以如果问我是否对所有小于2GB的邮件都这样做,会对性能产生影响吗?

根据您提供的信息,我认为除了您之外,没有人可以确定手动将文件写入磁盘与将文件发送到代理之间的“性能影响”

一般来说,您首先可以节省将文件发送到代理所需的时间,但您不能说明硬盘驱动器的速度有多快。如果代理上的硬盘驱动器比客户端上的硬盘驱动器快得多,则手动将文件写入磁盘可能需要更长的时间

此外,如果客户端和代理之间的网络速度较慢,客户端和要写入文件的共享驱动器之间的网络速度较快,则手动将文件写入磁盘的速度总体上可能会更快


最终将由您来测试更改对性能的影响。

我真的不明白您在问什么。HornetQ和ActiveMQ Artemis是消息代理。如果向代理发送持久/持久消息,它将存储在队列中并写入磁盘。“每次都从队列中绕过”是什么意思?消息超过2GB,我在hornetQ中遇到最大大小2GB的异常。所以我计划不将消息添加到队列中,而是手动将其写入磁盘,并在头中传递文件路径,然后从文件中读取消息。我真的不知道这会有什么影响,所以问我,如果我对所有小于2GB的邮件都这样做,会有什么影响吗?你实际使用的是什么代理?HornetQ或ActiveMQ Artemis?还有,你所说的“会有任何影响”到底是什么意思?这个问题真的很模糊。您在谈论什么样的“影响”?现在使用HornetQ并迁移到ActiveMQ Artemis,影响(如中所示)应该会有一些性能影响手动保存到文件系统,而不是将消息传递到队列。你对此有什么见解吗?