网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

分布式计算系统的演变

更新时间:2026年03月27日   作者:spoto   标签(Tag):

在本文中,我们将尽可能详细地了解分布式计算系统的历史,从大型机时代一直讲到今天。 了解任何事物的历史是非常重要的,这样才能明白我们已经取得了多大的进步。 分布式计算系统本质上是从集中式向去中心化的演变过程。它展示了这些集中式系统如何随着时间的推移而逐渐走向去中心化。 在1955年初,我们采用了类似大型机的集中式系统。不过现在,我们可能正在使用类似边缘计算或容器这样的分布式系统。

大型机:在1960年至1967年的计算机发展初期,基于大型机的计算设备被认为是最适合处理大规模数据的解决方案。因为这些设备能够为与电传打字机进行交互的本地客户端提供时间共享功能。 这种系统架构体现了客户端-服务器架构的特点。 客户端与服务器进行连接并发送请求,而服务器则处理这些请求。这样一来,单个分时系统就能够通过同一媒介向多个客户端发送多种资源。 它面临的主要问题是成本过高,这一因素促使了基于磁盘的存储技术和晶体管存储器的创新。

2. 集群网络:在20世纪70年代初,分组交换技术和集群计算技术得到了发展。这些技术被视作大型机系统的替代方案,不过其实施成本相当高。 在集群计算中,底层硬件由一系列功能相似的工作站或个人电脑组成。这些设备通过高速局域网相互连接,每个节点都运行相同的操作系统。 它的目的是实现并行处理。 在1967年至1974年期间,我们还见证了ARPANET的诞生。这是一个早期的网络系统,它能够实现全球范围内的信息交换。这种网络使得可以在不同地理位置的远程机器上运行各种服务,而无需依赖固定的编程模型。 同时,一种基于TCP/IP协议的通信方式也诞生了。这种协议能够支持在分组交换的自治网络上进行数据报式以及流式的通信。 通信方式主要依赖于数据报传输技术。

3. 互联网与电脑:在这个时代,互联网的发展也在不断进行着。 像TCP/IP这样的新技术开始让互联网变成多个相互连接的网络,从而将本地网络与更广泛的互联网连接在一起。 因此,连接到网络的主机数量开始迅速增加。而像HOSTS.TXT这样的集中式命名系统已经无法再满足这种扩展需求了。 因此,域名系统(DNS)于1985年诞生了。它能够将主机的域名转换为IP地址。 早期基于GUI的计算机采用了WIMP界面设计,即窗口、图标、菜单和指针等元素。这些计算机使得人们在家中也能进行计算操作,同时还能使用诸如视频游戏和网页浏览之类的应用程序。

4. 万维网:在20世纪80年代到90年代期间,随着超文本传输协议(HTTP)和超文本标记语言(HTML)的诞生,第一批网络浏览器、网站以及网络服务器也随之出现。 它是由蒂姆·伯纳斯-李在CERN开发的。 TCP/IP的标准化为所谓的“万维网”这种网络间的互联互通提供了基础设施。 这导致了连接到互联网的主机数量出现了巨大的增长。 随着在独立机器上运行的基于PC的应用程序数量不断增加,这些应用程序之间的通信方式也变得越来越复杂。这就给应用程序之间的交互带来了更大的挑战。 随着网络计算技术的出现,人们可以通过TCP/IP实现远程过程调用(RPC),这种方式被普遍认为是应用程序之间通信的可靠方式。 在这个时代,服务器提供了由统一资源定位符所描述的资源。 在各种硬件平台、操作系统以及不同的网络环境中运行的软件应用程序,在相互通信和共享数据时面临着诸多挑战。 这些具有挑战性的任务催生了分布式计算应用的概念。

5. P2P、网格技术以及网络服务:点对点计算或网络是一种分布式应用架构,它可以在各个节点之间分配任务或工作负载,而无需依赖中央协调器来负责这些任务。 各位同行享有平等的权益。 在P2P网络中,每个客户端既充当客户端角色,也充当服务器角色。P2P文件共享技术是在1999年被引入的,当时美国大学生Shawn Fanning创建了音乐共享服务Napster。P2P网络能够实现去中心化的互联网架构。 随着网格计算的引入,多个任务可以通过网络将计算机连接起来来共同完成。 实际上,它利用了数据网格这一技术。也就是说,一组计算机可以通过中间件直接进行交互,从而共同完成类似的任务。 在1994年至2000年期间,我们还见证了有效的x86虚拟化技术的诞生。 随着Web服务的出现,一种与平台无关的通信方式被建立起来。这种通信方式依赖于基于XML的信息交换系统,通过互联网实现应用程序之间的直接交互。 通过Web服务,Java可以与Perl进行通信;Windows应用程序也可以与Unix应用程序进行通信。 点对点网络通常由12台或更少的计算机组成。 所有这些计算机都采用了独特的安全机制来保护自己的数据。不过,它们也会与其他节点共享数据。 在点对点网络中,各个节点既消耗资源,也生产资源。 因此,随着节点数量的增加,点对点网络在资源共享方面的能力也会随之提升。 这与客户端-服务器网络有所不同。在客户端-服务器网络中,随着节点数量的增加,服务器就会不堪重负。 在点对点网络中,为各个节点提供适当的安全性是非常具有挑战性的,因为这些节点同时扮演着客户端和服务器的角色。 这种攻击可能会导致服务被拒绝。 大多数现代操作系统,包括Windows和Mac OS,都附带了用于实现“对等连接”功能的软件。

6. 云技术、移动技术与物联网:云计算实现了集群技术、虚拟化技术和中间件技术的融合。 通过云计算技术,您可以在互联网上直接管理您的资源和应用程序,而无需在硬盘或服务器上单独进行配置。 其主要优势在于,任何人都可以从世界上的任何地方访问该平台。 许多云服务提供商都提供基于订阅的服务。 在支付了订阅费用之后,客户就可以使用他们所需的所有计算资源了。 客户不再需要更新过时的服务器,在存储空间不足时购买新的硬盘,安装软件更新或购买软件许可证。 供应商为他们做这一切。 移动计算使我们能够通过无线网络传输数据,比如语音和视频。 我们不再需要将手机与交换机连接在一起了。 最常见的移动计算设备包括智能卡、智能手机和平板电脑。 物联网也从移动计算领域逐渐发展起来。它利用了传感器、处理能力、软件以及其他技术,使得各种设备与系统能够通过互联网进行数据交换和连接。

为了实现可扩展性、灵活性、可移植性、缓存功能以及安全性,基于REST模型的应用程序编程接口(API)的演进方式就显得非常重要了。 与其分别在每个API上实现这些功能,不如使用一个共同的组件来整合这些功能。这样就能让这些功能在API的基础上得到更好的利用。 这一要求推动了API管理平台的不断发展,如今它已成为任何分布式系统的核心功能之一。 与其将一台计算机视为单一的计算机,不如考虑在一台计算机内同时运行多个系统。这种想法便应运而生了。 这就引出了“虚拟机”的概念。在这种情况下,同一台计算机可以扮演多台计算机的角色,并且可以同时运行这些虚拟计算机。 虽然这个想法相当不错,但在主机资源的利用方面,它并不是最佳的选择。 目前可用的各种虚拟化技术包括 VMware Workstation、Microsoft Hyper-V以及Oracle Virtualization。

7. 雾计算与边缘计算:当由移动计算技术和物联网服务产生的数据量开始急剧增加时,实时处理数百万条数据仍然是一个挑战。 这就引出了“边缘计算”的概念。在这种模式下,客户端的数据在网络的边缘处被处理,其关键在于数据的位置。 这些数据通过诸如互联网这样的广域网进行传输,然后在更接近数据源的地方进行处理和分析,比如企业的局域网。这样一来,就可以在本地进行数据的处理,而无需将数据集中存储在数据中心中。这样做可以避免延迟问题。 雾计算通过不在云通道上传输所有信息,而是将这些信息集中存储在特定的接入点处,从而大大减少了对带宽的需求。 这种分布式策略能够降低成本,并提高效率。 像IBM这样的公司,正是雾计算发展的主要推动力量。 雾计算和边缘计算的结合,进一步扩展了云计算的模式。这种模式不再依赖于集中式的利益相关者,而是转向了去中心化的多利益相关者系统。这样的系统能够提供更低的服务响应时间,同时还能提升整体的带宽处理能力。

当你可以将应用程序以及所有相关的依赖项都打包到一个容器镜像中时,使用容器的概念就变得非常重要了。这样的容器镜像可以在任何支持运行容器的环境中被运行。 随着基于容器的应用程序部署方式的引入,这一概念变得更加流行,其性能也得到了显著提升。 容器可以像虚拟机一样发挥作用,而无需承担独立操作系统的相关开销。 Docker和Kubernetes是目前最流行的两种容器构建平台。 它们提供了以大型集群形式运行的机制,同时也实现了在容器上运行的各种服务之间的通信功能。

如今,分布式系统的编程工作由应用程序开发人员负责,而底层基础设施的管理则由云服务提供商来承担。这就是当前计算领域的分布式系统的现状,而且这种状况还会不断演变下去。

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料