使用“withoutheartbeat”标志运行芹菜工人的应用程序影响

2024-06-13 21:34:23 发布

您现在位置:Python中文网/ 问答频道 /正文

讨论here从高层次讨论了使用--without-hearbeat --without-gossip --without-mingle标志运行芹菜工人的一些影响

我想知道--without-heartbeat标志是否会影响工作人员检测代理断开连接和尝试重新连接的能力。芹菜文档只隐晦地提到这些在应用层而不是TCP/IP层起作用的心跳。好的——我真正想知道的是,消除这些消息是否会影响我的工作人员的工作能力——特别是检测代理断开连接,然后尝试适当地重新连接

我自己运行了一些快速测试,发现通过了--without-heartbeat标志后,工作人员仍然非常快地检测到代理断开连接(由我关闭RabbitMQ实例启动),他们尝试重新连接到代理,并在我重新启动RabbitMQ实例时成功地重新连接到代理。因此,我的基本测试表明,心跳对于基本的健康检查和功能是不必要的。他们到底有什么意义?我不清楚这一点,但在最基本的层面上,它们似乎对worker功能没有影响

关闭心跳的实际、特定于应用程序的含义是什么


Tags: 实例功能代理here标志rabbitmq能力mingle
1条回答
网友
1楼 · 发布于 2024-06-13 21:34:23

这就是心跳机制的explanation。现在,由于AMQP使用TCP,芹菜工人将尝试重新连接,如果他们无法建立连接或TCP协议要求时。因此,似乎不需要心跳机制。但它有几个优点:

  1. 它不依赖于代理协议,因此如果代理有一些内部问题或使用UDP,那么工作人员仍然会知道是否没有收到事件,并能够相应地采取行动

  2. 心跳机制检查事件是否被发送和接收,这是应用程序按预期运行的更大指标。例如,如果代理没有足够的空间,并且开始删除事件,那么worker将通过heartbeat机制对此进行指示。如果工作人员正在使用多个代理,它还可以决定连接到另一个应该不那么繁忙的代理

相关问题 更多 >