RabbitMq 发布消息导致通道流失

问题描述 投票:0回答:1

我尝试使用 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);

我做错了什么?我是否缺少任何设置?

如有任何帮助,我们将不胜感激。我花了几个小时解决这个问题,但无法继续前进。

node.js rabbitmq
1个回答
0
投票

我在这里找到了解决方法:

https://github.com/amqp-node/amqplib/issues/264

但是,我觉得这不是最好的解决方案......

© www.soinside.com 2019 - 2024. All rights reserved.