【问题标题】:RabbitMQ connection dropped automatically after long idle time长时间空闲后,RabbitMQ 连接自动断开
【发布时间】:2012-10-20 03:11:29
【问题描述】:

我正在使用.net客户端连接到运行HA模式的RabbitMQ服务器,所有队列都具有以下配置。

队列具有以下配置

  • 队列名称 = ""; // 自动生成
  • 独占=假;
  • 自动删除 = 真;
  • 耐用 = 假
  • Argumenets==> x-ha-policy, all(用于 HA 服务器模式)

我看到这种行为是,在进程空闲了很长时间(比如 10 分钟左右)后,连接开始断开,因此队列被自动删除。

是否有空闲设置或超时设置?或者在 RabbitMQ .net 客户端中连接自动关闭的可能原因是什么。

【问题讨论】:

  • 我不明白 HA 队列与自动删除的组合。 HA 是为了让您可以在崩溃、停电等情况下幸存下来,这意味着会有一段时间没有消费者,因为您的应用必须重新连接,这意味着队列将被删除。
  • 不管上述情况 - 您是否尝试在连接工厂上设置 RequestedHeartbeat?看看你的连接空闲是否通过这个设置变成了 60 秒。
  • 这只是 RMQ 的一种用法,可能有点误导,并非所有队列都将自动删除设置为 true。
  • 是的,我确实解决了设置请求的心跳的问题。谢谢。该问题是由于负载平衡在 5 分钟后断开空闲连接引起的。

标签: rabbitmq


【解决方案1】:

这是由于负载均衡器在 5 分钟后断开空闲连接造成的。使用 RequestedHeartbeat 保持连接活跃

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-10
    • 2018-11-01
    • 2018-07-15
    • 2021-07-15
    • 1970-01-01
    • 2013-07-22
    • 2018-11-14
    相关资源
    最近更新 更多