ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

原始分布式架构服务探索的得与失

2022-01-27 22:58:18  阅读:157  来源: 互联网

标签:架构 Unix 得与失 原始 分布式系统 服务 分布式


        目录

架构并不是被“发明”出来的,而是持续进化的结果。

结论

原始分布式架构时代

产生的背景

探索实践的结论

原始分布式时代的教训

摩尔定律的黄金时期

总结


架构并不是被“发明”出来的,而是持续进化的结果。

从以下三个方面思考:

1. 它们都是什么、取代了什么,以及为什么能够在技术发展的中取得成功;

2. 为什么会成为软件架构不可或缺的支撑;

3. 它们为什么会失败,为什么会逐渐被我们遗忘。

结论

1. 微型机取代了大型机,逐步走向人们身边,因为当时硬件运算能力有限,因此原始分布式架构探索的第一步迈出,并没有取得成功;

2. 原始分布式架构的第一次探索,为后面分布式架构技术的演进奠定了基础;

3. 不能说是完全的成功,也不能说是失败,在当时也是提出了很多分布式技术的初级理论,这些理论没有被遗忘,后面终会重见天日,就在三十年后的今天。

原始分布式架构时代

        分布式系统的设想和它实际的尝试,反而要比你今天所了解的大型单体系统出现的时间更早。

产生的背景

        在 20 世纪 70 年代末到 80 年代初,计算机科学刚经历了从以大型机为主,到向以微型机为主的蜕变,逐渐走向社会,走向家庭,走向我们身边。还记得著名的英特尔处理器的鼻祖,Intel 8086 处理器。

        当时的计算机硬件的运算处理能力还相当薄弱,已经直接妨碍了单台计算机上信息系统软件能够达到的最大规模。想看看到底能不能使用多台计算机共同协作,来支撑同一套软件系统的运行。

        这个阶段其实是对分布式架构最原始的探索与研究。因为在这个时期提出的很多技术、概念,对 Unix 系统后续的发展,甚至是对今天计算机科学的很多领域,都产生了巨大而深远的影响,直接带动了后续的软件架构演化进程。

探索实践的结论

        在当时产生了一些最原始技术的概念雏形理论实践,例如:

  1. 惠普公司(及后来被惠普收购的 Apollo),在 80 年代初期提出的网络运算架构(Network Computing Architecture,NCA),就可以说是未来远程服务调用的雏形。
  2. 卡内基 · 梅隆大学提出的AFS 文件系统(Andrew File System),可以看作是分布式文件系统的最早实现(顺便一提,Andrew 的意思是纪念 Andrew Carnegie 和 Andrew Mellon)
  3. 麻省理工学院提出的Kerberos 协议,是服务认证和访问控制(ACL)的基础性协议,是分布式服务安全性的重要支撑,目前包括 Windows 和 macOS 在内的众多操作系统的登录、认证功能,等等,都会利用到这个协议

        而为了避免Unix 系统的版本战争在分布式领域中重演,负责制定 Unix 系统技术标准的开放软件基金会(Open Software Foundation,OSF,也就是后来的“国际开放标准组织”)就邀请了各个主要的研究厂商一起参与,共同制订了“分布式运算环境”(Distributed Computing Environment,DCE)的分布式技术体系。

DCE 包括了一整套完整的分布式服务组件的规范与实现。 

        这些技术的主旨,确实非常符合Unix 设计哲学(有过几个版本的不同说法,这里我指的是 Common Lisp 作者Richard P. Gabriel提出的简单优先“Worse is Better”原则),但这个目标其实是过于理想化了,它存在一些在当时根本不可能完美解决的技术困难。

  • 例如远程调用和本地调用:

        远程的服务在哪里(服务发现)、有多少个(负载均衡)、网络出现分区、超时或者服务出错了怎么办(熔断、隔离、降级)、方法的参数与返回结果如何表示(序列化协议)、如何传输(传输协议)、服务权限如何管理(认证、授权)、如何保证通信安全(网络安全层)、如何令调用不同机器的服务能返回相同的结果(分布式数据一致性)等一系列问题,就需要设计者耗费大量的心思。

        因为把一个系统直接拆分到不同的机器之中,这样做带来的服务的发现、跟踪、通讯、容错、隔离、配置、传输、数据一致性和编码复杂度等方面的问题,所付出的代价远远超过了分布式所取得的收益。

原始分布式时代的教训

某个功能能够进行分布式,并不意味着它就应该进行分布式,强行追求透明的分布式操作,只会自寻苦果。

这两条理论其实是有些矛盾的

在当时计算机科学面前,有两条通往更大规模软件系统的道路:

  1. 是尽快提升单机的处理能力,以避免分布式的种种问题;
  2. 另一条路是找到更完美的解决方案,来应对如何构筑分布式系统的问题。

摩尔定律的黄金时期

        在 20 世纪 80 年代,正是摩尔定律开始稳定发挥作用的黄金时期,微型计算机的性能以每两年就增长一倍的惊人速度在提升,硬件算力束缚软件规模的链条,很快就松动了,我们用单台或者几台计算机,就可以作为服务器来支撑大型信息系统的运作了,信息系统进入了单体时代,而且在未来很长的一段时间内,单体系统都将是软件架构的主流。

总结

        原始分布式时代提出的构建“符合 Unix 的设计哲学的”,以及“如同本地调用一般简单透明的”分布式系统的这个目标,是软件开发者对分布式系统最初的美好愿景。不过迫于现实,它会在一定时期内被妥协、被舍弃,分布式将会经过一段越来越复杂的发展进程。

标签:架构,Unix,得与失,原始,分布式系统,服务,分布式
来源: https://blog.csdn.net/cuiwei1026522829/article/details/122724424

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有