【发布时间】:2019-07-08 15:47:36
【问题描述】:
根据 RabbitMQ 文档:
心跳超时值定义了对等点经过多长时间 RabbitMQ 应该认为 TCP 连接不可达(关闭),并且 客户端库。这个值是在客户端和客户端之间协商的 连接时的 RabbitMQ 服务器。客户必须是 配置为请求心跳。在 RabbitMQ 3.0 及更高版本中, 默认情况下,代理将尝试协商心跳(尽管 客户仍然可以否决它们)。超时以秒为单位,并且 默认值为 60(3.5.5 版本之前为 580)。
(https://www.rabbitmq.com/heartbeats.html)
我在解码“客户端必须配置为请求心跳”语句时遇到问题。
这是否意味着如果客户端不请求心跳,则不会发送心跳消息?如果是这样,服务器默认的意义何在?
我查看了 Java 和 C# 客户端,它们的客户端默认值都是 60 秒。有没有默认这个的客户端?
【问题讨论】:
-
或者心跳是双向的吗?