讨论here从高层次讨论了使用--without-hearbeat --without-gossip --without-mingle
标志运行芹菜工人的一些影响
我想知道--without-heartbeat
标志是否会影响工作人员检测代理断开连接和尝试重新连接的能力。芹菜文档只隐晦地提到这些在应用层而不是TCP/IP层起作用的心跳。好的——我真正想知道的是,消除这些消息是否会影响我的工作人员的工作能力——特别是检测代理断开连接,然后尝试适当地重新连接
我自己运行了一些快速测试,发现通过了--without-heartbeat
标志后,工作人员仍然非常快地检测到代理断开连接(由我关闭RabbitMQ实例启动),他们尝试重新连接到代理,并在我重新启动RabbitMQ实例时成功地重新连接到代理。因此,我的基本测试表明,心跳对于基本的健康检查和功能是不必要的。他们到底有什么意义?我不清楚这一点,但在最基本的层面上,它们似乎对worker功能没有影响
关闭心跳的实际、特定于应用程序的含义是什么
这就是心跳机制的explanation。现在,由于AMQP使用TCP,芹菜工人将尝试重新连接,如果他们无法建立连接或TCP协议要求时。因此,似乎不需要心跳机制。但它有几个优点:
它不依赖于代理协议,因此如果代理有一些内部问题或使用UDP,那么工作人员仍然会知道是否没有收到事件,并能够相应地采取行动
心跳机制检查事件是否被发送和接收,这是应用程序按预期运行的更大指标。例如,如果代理没有足够的空间,并且开始删除事件,那么worker将通过heartbeat机制对此进行指示。如果工作人员正在使用多个代理,它还可以决定连接到另一个应该不那么繁忙的代理
相关问题 更多 >
编程相关推荐