我在官方文档和源代码中搜索过它,但没有意义。
我也尝试将其设置为 10 或 1 等值,但在rabbitmq管理的Web控制台中仍然显示heartbeat=60。
来自 RabbitMQ 文档:
心跳超时值定义了 RabbitMQ 和客户端库在多长时间后应将对等 TCP 连接视为不可访问(关闭)。该值是在连接时客户端和 RabbitMQ 服务器之间协商的。客户端必须配置为请求心跳。在 RabbitMQ 3.0 及更高版本中,默认情况下,代理将尝试协商心跳(尽管客户端仍然可以否决它们)。超时以秒为单位,默认值为 60(3.5.5 版本之前为 580)。
https://www.rabbitmq.com/heartbeats.html
Pika过去在协商时会选择服务器和客户端之间的最小心跳值。从0.11开始就不再是这样了。Pika 选择客户端和服务器之间的最高心跳值(这是 AMQP 客户端的规范)。这意味着,如果您设置的心跳值低于 60 秒,Pika 将始终选择 RabbitMQ 的值,因为它更高。尝试将心跳设置为高于 60 秒,它应该在管理控制台中可见。
不过,如果您确实想将心跳值设置为低于 60 秒(这会适得其反),您仍然可以在配置中设置该值。
编辑 2019-01-23:从 Pika 1.0 开始,这种行为再次发生了 变化。现在,如果客户端和服务器都指定了非零心跳间隔值,Pika 将选择客户端和服务器之间的最低心跳间隔值。如果客户端或服务器未指定心跳间隔值或指定为零,则如果有 1,则采用指定的值,否则采用零(这意味着心跳被禁用)。尽管如此,这并不意味着使用低心跳间隔总是一个好主意。
| 归档时间: |
|
| 查看次数: |
10815 次 |
| 最近记录: |