01 原始分布式时代:Unix设计哲学下的服务探索

你好,我是周志明。欢迎你来到“软件架构课”,从今天开始,我们就进入课程的第一个模块“演进中的架构”。

架构并不是被“发明”出来的,而是持续进化的结果。所以在这一模块中,我会借着讨论历史之名,从全局性的视角,来带你一起梳理下微服务的发展历程中,出现的大量技术名词、概念。

我会和你一起去分析,它们都是什么、取代了什么,以及为什么能够在技术发展的斗争中取得成功,为什么会成为软件架构不可或缺的支撑;又或者它们为什么会失败,为什么会逐渐被我们遗忘。

了解了这些技术的时代背景和探索过程,在后续的课程中,我再去讲解它们的原理、它们是如何解决问题的时候,你就能与它们当初的设计思想产生共鸣,能更容易深入理解其本质了。

今天这一讲,让我们先把时间拨回到半个世纪之前,一起来探讨下计算机最开始进入公众视野的时候,在Unix设计哲学的指导下,分布式架构的第一次服务化探索的得与失。

Unix的分布式设计哲学
Simplicity of both the interface and the implementation are more important than any other attributes of the system — including correctness, consistency, and completeness.
保持接口与实现的简单性,比系统的任何其他属性,包括准确性、一致性和完整性,都来得更加重要。
—— Richard P. GabrielThe Rise of 'Worse is Better,1991