构建分布式系统是一件很困难的事,每时每刻都可能出现莫名其妙的问题,比如时间不一致,网络波动等等,从而导致一台服务器或者多台服务器失去了联系,从而导致分布式系统不可用。
随着分布式系统的实践愈来愈多,大家总结出下面八个设计分布式系统时常犯的八个误区:
这八个误区是怎么诞生的呢?一般的看法是 Sun 公司的职员 L. Peter Deutsch 在1994年提出了前七个误区。(https://en.wikipedia.org/wiki/L._Peter_Deutsch)
但是仔细追踪历史的话,前四个误区应该是在九十年代初由两位 Sun Microsystems 工程师 Bill Joy 和 Dave Lyon 提出,当时也在 Sun Microsystems 就职的 Java 编程语言的创始人 James Gosling 将其总结为The Fallacies of Networked Computing
,经过不断实践,过了一段时间Sun 公司的另一位研究员 Peter Deutsch 对其进行了补充,增加了第五、第六和第七个误区。
等到了 1997 年,James Gosling 又补充了最后一个误区。此时,长久流传的八大分布式系统的误区就完整了。