了解分布式系统中的遗漏失败

时间:2012-09-01 15:36:19

标签: client-server distributed-computing

以下文字说明了我不能完全同意的事情:

客户端C向服务器S发送请求R.通过链路传输R的通信链路所花费的时间是D. P是S接收,处理和回复R所需的最长时间。如果省略失败是假设;然后如果在2(D + P)内没有收到对R的回复,则C将永远不会收到对R的回复。

为什么这里的时间为2(D + P)。据我所知,不应该是2D + P?

1 个答案:

答案 0 :(得分:3)

由于通信链路故障导致的进程崩溃导致的遗漏失败是通过超时检测到的 但是在异步系统中,超时仅仅是进程没有响应的指示。由于处理负载过重,其他进程可能已崩溃或减速。 因此,通常作为超时,我们选择最大期间。因此,这可能是2(D+P),而不是您的严格2D+P。最大周期允许考虑网络变得拥塞,因此响应返回较慢/过程中处理较慢以及处理客户端从传入缓冲区读取消息所需的响应R的时间并且处理需要将其传递到应用程序级别 所以我不能告诉你究竟是什么说明你的书中的公式,我可以告诉你,虽然在超时时我们没有你想象的那么严格。