gpt4 book ai didi

go - 为什么 RabbitMQ 在不使用时不会保持连接打开?

转载 作者:数据小太阳 更新时间:2023-10-29 03:21:54 24 4
gpt4 key购买 nike

我用过http://github.com/streadway/amqp在我的应用程序中打包,以便处理与远程 RabbitMQ 服务器的连接。一切正常并且工作正常但是当连接长时间空闲时 f.g 6 小时它会关闭。我在我的 go 例程中一直检查 NotifyClose(make(chan *amqp.Error)) 并返回:

Exception (501) Reason: "write tcp 192.168.133.53:55424->192.168.134.34:5672: write: broken pipe"

  1. 为什么会出现这个错误? (我的代码有什么问题吗?)

  2. 连接可以空闲多长时间?

  3. 如何预防这个问题?

最佳答案

正如 Cosmic Ossifrage 所说,错误是说您的 RabbitMQ 客户端已断开连接。

您的客户端和服务器之间可能存在很多东西,它们可能/将会断开休眠连接,因此不值得关注您的连接可以休眠多长时间。您想在连接管理器中设置请求的心跳间隔。

https://www.rabbitmq.com/heartbeats.html

我不熟悉您使用的框架,但我看到它在 connection.go 中有一个 defaultHeartbeat 字段。您可能需要对该值进行试验,以找到最佳平衡点,即停止连接被终止,但不要经常使用保持事件流量访问服务器。

关于go - 为什么 RabbitMQ 在不使用时不会保持连接打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52491904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com