RabbitMQ / amqplib -- 错误:帧大小超过帧最大值

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

与 RabbitMQ 的连接失败,并显示

Error: Frame size exceeds frame max

虽然StackOverflow和Github上也提出了一些类似的问题,但仍然很模糊。

假设 RabbitMQ 和 amqplib 使用的 AMQP 版本不同,但如何检查呢?如果说

amqp 1.0
amqp 0-9-1
的主要区别,那么理论上amqplib只支持0-9-1,而RabbitMQ默认支持。

还有其他想法吗?

版本:

  • RabbitMQ:3.10.5
  • amqplib:0.10.0
node.js rabbitmq amqp node-amqp node-amqplib
3个回答
3
投票

就我而言,连接到 RabbitMQ 时出现“

帧大小超过帧最大值
”错误的问题是由于 URL 的协议部分中缺少“s”(因此不是
amqp
:// 而是应该是
amqps
://)


1
投票

尝试在amqps仪表板上创建一个实例,成功创建实例后会生成一个URL。使用网址。 这对我有用。

https://api.cloudamqp.com/


0
投票

对我来说,使用节点 amqplib 连接方法连接时必须指定frameMax

const connection = await connect({
    protocol: 'amqp',
    hostname: 'localhost',
    username: 'username',
    password: 'password',
    vhost: '/somevhost',
    frameMax: 131072
});

131072 约为 128 KB

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.