分布式计算的8条谬论

Posted 2021-07-05 01:50 +0800 by ZhangJie ‐ 1 min read

分享:  

分布式计算的谬论,是由L Peter Deutsch以及其他Sun Microsystems的同行总结的几条分布式计算初学者经常误以为成立的判断。

这8条谬论分别是

  1. 网络是可靠的;
  2. 通信时延为0;
  3. 带宽是无限的;
  4. 网络是安全的;
  5. 拓扑不会改变;
  6. 只有一个管理者;
  7. 传输成本为0;
  8. 网络是同构的;

陷入这8条谬论会导致如下后果

  1. 开发的软件程序中针对网络的错误处理不够健壮,遇到网络错误时程序会stall或者无限等待响应,即便是网络恢复了,程序也不能自行恢复或需要手动重启;
  2. 忽视通信时延以及可能导致的丢包问题,应用层、传输层开发人员开发的程序对于传输流量大小没有任何限制,会导致严重的的丢包或者带宽浪费;
  3. 流量的发送方,忽视带宽本身的限制,会导致一些瓶颈;
  4. 忽视网络安全容易被恶意用户和不断演进的能绕过安全软件的恶意程序蒙蔽双眼;
  5. 网络拓扑的改变也会对网络带宽和通信时延产生影响,因此会产生相似的问题;
  6. 可能会出现多个管理员,它们可能会制定出相互冲突的策略,流量的发送方需要知道这里的“策略”才能按预期路径传输,但是策略出现冲突,会对传输造成影响。
  7. 构建、维护一个网络或者子网的隐藏成本不能被忽略,在预算中必须清晰地列出来,而不能出现突然地削减;
  8. 如果假定一个系统是同构网络,那么可能会导致这里列出的前3个谬论;

这8条谬论的诞生

这8个谬论大部分由来自Sun Microsystems公司的L. Peter Deutsch提出,1994年它提出了前7个。不过Bill Joy和Tom Lyon在那时就早已经将前4条作为网络计算的谬论了。在1997年,James Gosling(Sun员工,也是Java之父)添加了第8条谬论。