注
文章还在写,手滑先发了出来,先把老师的内容复制点过来,今晚或明天会完工。
前言
首先,本文是对周志明老师凤凰架构中内容的总结。
旨在提供一个快速回忆文章内容的作用。权当是个读书笔记。
推荐大家阅读周老师的这个大型博客(也有书,不过内容一样)。
链接:https://icyfenix.cn/
我个人对这个架构演进的理解是,通过了解这些东西,洞悉架构变迁的真正原因,从而把握当前架构的优势,在选择架构时根据需求来选择架构。
架构演进
原始分布式
20 世纪 70 年代末,受限于计算机硬件局促的运算处理能力,已直接妨碍到了在单台计算机上信息系统软件能够达到的最大规模。所以大家就都在寻找多机协作来突破单机性能薄弱的限制。
探索过程有许多对后世产生深远影响。譬如,惠普公司提出的网络运算架构(Network Computing Architecture,NCA)是未来远程服务调用的雏形;卡内基·梅隆大学提出的AFS 文件系统是日后分布式文件系统的最早实现;麻省理工学院提出的Kerberos 协议是服务认证和访问控制的基础性协议,是分布式服务安全性的重要支撑,目前仍被用于实现包括 Windows 和 MacOS 在内众多操作系统的登录、认证功能,等等。
同时为避免类似UNIX系统的版本战争再次重现。开放软件基金会邀请了主流计算机厂商,共同制订了名为“分布式运算环境”(Distributed Computing Environment,DCE)的分布式技术体系。
DCE是CS领域首次有组织性的分布式尝试。虽然因历史局限结果并不成功,但有很多后世收益的思想发明。比如UUID,ONE RPC等。
在当时,将一个系统拆分到不同的机器中运行,这样做带来的服务发现、跟踪、通信、容错、隔离、配置、传输、数据一致性和编码复杂度等方面的问题,所付出的代价远远超过了分布式所取得的收益。
亲身经历过那个年代的计算机科学家、IBM 院士 Kyle Brown 事后曾评价道:“这次尝试最大的收获就是对 RPC、DFS 等概念的开创,以及得到了一个价值千金的教训:某个功能能够进行分布式,并不意味着它就应该进行分布式,强行追求透明的分布式操作,只会自寻苦果。”
探索分布式的原因是我们受限于计算机硬件局促的运算处理能力。但是80 年代的时候,摩尔定律正发挥着作用,微型计算机的性能两年即能增长一倍。所以很长一段时间里,硬件性能不再是瓶颈,架构设计迈向单体时代。