分布式计算的第一谬误认为网络是可靠的。
考虑两种情况:
场景1:在美国的TCP通信-东-1(相同的AZ)。
场景2:我们-东和美-西之间的TCP通信。
在这两种情况下,服务器A和B通过一个可靠的协议(如TCP )进行通信。在这两种情况下,网络分区都是可能的。场景1可能是由数据中心中的网络问题引起的。场景2可以以与场景1相同的方式经历网络分区,也可以通过在美东和美西之间传输的任何类型的网络问题来体验。
将失败视为服务器A无法在一定时限内(例如1分钟)从B接收响应。我的问题是:场景2中的请求是否比场景1更有可能失败--通过网络分区或其他网络工作问题?假设请求在场景1中成功的频率比场景2更多是一个错误的假设吗?
发布于 2018-03-09 12:49:58
网络分区的Probability(P)与网络中每个组件的故障成正比(为了简单起见,不计算同时发生的故障)
正如您提到的,在第一种情况下是P_partition1 ~ P_failure_your_datacenter,在第二种情况下是P_partition2 ~ P_failure_your_datacenter + P_failure_in_transit
考虑到P_failure_in_transit >0似乎是P_partition_2 > P_partition_1
所以我想说你已经回答了你自己的问题。一个值得回答的相关问题是它有多大的可能性?它要复杂得多,只能分析真实世界的统计数据--您自己的或者来自您的主机提供商。
https://stackoverflow.com/questions/49179738
复制相似问题