2

在阅读 php-amqplib 配置时,我看到了两个参数:“heartbeat”和“read_write_timeout”。

在网上我发现了这个(在 2 或 3 个论坛上): read_write_timeout 必须至少是心跳的 2 倍但我从来没有看到这背后的原因。

有人能解释一下为什么 read_write_timeout 必须至少是心跳的 2 倍吗?它取决于心跳间隔吗?

预先感谢。

4

1 回答 1

1

一些讨论在这里这里进行

归结为一个简单的原因,即如果没有及时发送心跳以保持其活动状态,则连接可能会在正确处理之前关闭。这是毫秒级的工作,因此连接可能在 :30 自动关闭,而心跳应该在 :31 发送。

于 2021-01-15T12:48:31.163 回答