分布式系统故障可以通过定期心跳或定期轮询来检测。似乎轮询比心跳更普遍(例如,负载均衡器更喜欢轮询而不是心跳)。在什么情况下,一种方法应该优先于另一种方法?
发布于 2017-09-23 16:35:28
最后,它归结为push和pull,轮询的优势在于,它很容易实现,它具有适度的可扩展性,而且可能更少聊天,心跳本身可以遵循push,pull,或者push然后pull范式,轮询显然是基于pull的。
发布于 2021-10-30 18:13:48
轮询和心跳是在故障检测器中实现监控的两种主要方法。
轮询方法是一种基于查询/回复的方法,用于监控流程。在这种技术中,当一个进程p跟踪另一个进程q时,process p会向q发送一个查询消息,并等待,直到它从q<>e29>获得对此消息的回复。如果p在给定时间后未得到回复,则p将怀疑q。
在心跳方法中,每个监视进程p都会收到来自每个被监视进程q的周期性心跳消息,以通知它仍然处于活动状态。如果p在给定时间后未收到来自q的心跳消息,则监视进程p将怀疑q
https://stackoverflow.com/questions/42821877
复制相似问题