gpt4 book ai didi

performance - HornetQ 中的消息属性可以有多大?

转载 作者:行者123 更新时间:2023-12-03 00:32:56 26 4
gpt4 key购买 nike

我正在使用 HornetQ 发送电子邮件。

文件附件使用对象存储系统进行带外传输(不作为消息的一部分)。这会增加一些开销,我想通过将小文件直接放入消息属性来避免这些开销。

我知道我可以发送巨大的消息体,但是对于大文件,对象存储效果很好,这是关于小文件的,如果可以的话,按属性值传递会非常方便。

消息属性值有哪些注意事项?我可以将它们做成 100K 字节数组吗?这会减慢速度(甚至中断)吗?

最佳答案

header 、属性和正文缓冲区本身都以相对简单的过程组合到消息的整体缓冲区中,因此从这个角度来看,不应该存在重大的性能问题。您可以在这里看到核心实现: https://github.com/hornetq/hornetq/blob/master/hornetq-core-client/src/main/java/org/hornetq/core/message/impl/MessageImpl.java

其中一个考虑因素是您的消费者窗口大小,默认情况下仅为 1MB。这是消费者上缓冲的大小,因此,如果您发送接近此大小的消息,那么当您在消费者处等待数据时,读取性能可能会慢得多。这可以使用 consumer-window-size 参数进行更改。请参阅http://docs.jboss.org/hornetq/2.4.0.Final/docs/user-manual/html/flow-control.html#d0e4023了解更多信息。

根据评论,您可能还想增加日志大小和缓冲区大小。看看你可能已经接近极限了。您可能希望将日志缓冲区大小设置得更大,以确保获得一些空间,并且可能还需要调整日志本身的大小。 http://hornetq.sourceforge.net/docs/hornetq-2.1.1.Final/user-manual/en/html/persistence.html#configuring.message.journal.journal-buffer-sizehttps://developer.jboss.org/thread/154423

关于performance - HornetQ 中的消息属性可以有多大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29091759/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com