原始时代对分布式架构的探索
原始时代对于分布式的探索
``Unix分布式设计哲学:保持接口与实现的简单性,比系统的任何其他属性,包括准确性、一致性和完整性,都来得更加重要
``
分布式架构的发展历程
目标
使用多个独立的分布式服务,来共同构建一个更大型的系统。
第一次
使用多台计算机共同协作 ,来支撑同一套软件系统的运行。其实这就是对分布式架构最原始的探索
案例
+ 网络运算架构 NCA,未来远程服务调用的雏形
+ AFS 文件系统,分布式文件系统的最早实现
+ Kerberos 协议,服务认证和访问控制的基础性协议,分布式服务安全性的支撑
走向标准化:
国际开发标准组织制定分布式运算环境 DCE 的分布式技术体系
DCE,一整套完整的分布式服务组件的规范和实现
DCE 面临的问题:远程的服务在哪里(服务发现)、有多少个(负载均衡)、网络出现分区、超时或者服务出错了怎么办(熔断、隔离、降级)、方法的参数与返回结果如何表示(序列化协议)、如何传输(传输协议)、服务权限如何管理(认证、授权)、如何保证通信安全(网络安全层)、如何令调用不同机器的服务能返回相同的结果(分布式数据一致性)等一系列问题
为什么第一次探索失败了?
因为在当时的硬件水平的环境下,把一个系统直接拆分到不同的机器之中,这样做带来的服务的发现、跟踪、通讯、容错、隔离、配置、传输、数据一致性和编码复杂度等方面的问题,所付出的代价远远超过了分布式所取得的收益。
失败的总结
1. 某个功能能够进行分布式,但并不意味着它就应该进行分布式,强行追求透明的分布式操作,只会自寻苦果
2. 在当时的计算机科学面前,有两条通往大规模软件系统的道路,一条是忙尽快提升单机的处理能力,以避免分布式问题;另一条是寻找更完美的解决方案,来应对如何构筑分布式系统的问题
时代继续发展
1. 摩尔定律发挥作用,计算机性能成倍增加,从硬件的角度挣脱了束缚软件规模的链条。从而信息系统进入到单体架构时代
2. 对分布式计算、远程服务调用的探索,开发者们也从没有中断过
评论