Apache ActiveMQ Artemis 消息大小配置

Apache ActiveMQ Artemis message size configuration

我正在试用 ActiveMQ Artemis 进行消息传递设计。我期待带有嵌入式文件内容(字节)的消息。我不希望它们超过 10MB。但是,我想知道在 Artemis 中是否有一种可配置的方法来处理它。 还有它支持的默认最大消息大小吗? 我尝试并搜索了答案,但找不到任何答案。 另外,我的生产者和消费者都是 .Net AMQP 实现。

A​​ctiveMQ Artemis 本身不限制消息的大小。支持任意large messages。但是,您会受到一些限制:

  1. 代理堆space:如果客户端在一个块中发送消息,导致代理超过其可用堆space,则发送消息将失败。代理无法控制 AMQP 客户端如何发送消息。我相信 AMQP 支持分块发送消息,但我不能 100% 确定这一点。
  2. 代理的磁盘 space:被代理认为 "large" 的 AMQP 消息(即不能放入单个日志文件的消息)将直接存储在磁盘上 data/largemessages 目录。 ActiveMQ Artemis 日志文件大小由 broker.xml 中的 journal-file-size 配置参数控制。默认 journal-file-size 是 10MB。默认情况下,当磁盘 space 利用率达到 90% 时,代理将停止向生产者提供信用。这由 broker.xml.
  3. 中的 max-disk-usage 配置参数控制