【发布时间】: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