我尝试使用 amqplib 库在 NodeJS 项目中发送消息。它一直工作到缓冲区长度约为 8MB (8,388,608)
因此,如果消息大约是。超过 8MB,当我打电话时
this.channel.publish(exchangeName, queueName, buffer, ...
它总是返回 false,并且在通道上的 while 后调用排出事件。 但是,默认 RabbitMQ 中的消息限制应该要高得多。我们没有改变任何东西。 我们用 amqplib“0.10.3 节点20.11.0 RabbitMQ 3.12.10 艾尔兰25.3.2.8 在 linux docker 和 windows 上进行了测试。行为是一样的。
当我检查 amqplib/lib/connection.js 时,调用时可能会失败
writeResult = buffer.write(bodyFrame);
我做错了什么?我是否缺少任何设置?
如有任何帮助,我们将不胜感激。我花了几个小时解决这个问题,但无法继续前进。