分布式计算使用位于不同操作位置的大量计算资源来实现单一计算目的。
分布式计算将多台计算机、服务器和网络整合在一起,以完成各种规模和用途的计算任务。在小型分布式计算系统中,组件彼此相邻且通过局域网 (LAN) 链接。
在大型分布式系统中,其组件按地理位置分隔,并通过广域网 (WAN) 链接。分布式系统中的组件通过所使用的任意网络共享信息。分布式系统最知名的示例是互联网。近年来,分布式系统最具争议的示例或许是加密货币。
从计算的角度来看,就通常涉及的组件数量而言,即使是最基本的分布式计算形式通常也包含三个基本组件:
然而,并没有任何硬性规定来限制什么是分布式计算环境,或者需要多少软件组件才能实现其功能。可能只有寥寥几个组件在该链(或网络)中工作,或者实例可能包含更多组件。
这是使用分布式计算系统的巨大优势之一;该系统可以通过添加更多机器来扩展。另一个显著优势是增加冗余,因此,如果网络中有一台计算机因任何原因发生故障,系统仍会继续运行而不受故障影响。
这种增加冗余的概念与强调容错密切相关。容错是一种纠正过程,它允许操作系统在系统继续运行时响应并纠正软件或硬件中的故障。容错能力已经成为衡量在发生严重故障时业务是否能够持续运转的通用标准。
因此,分布式计算系统不受组件数量的限制,也无需组件在物理上彼此相邻并通过局域网连接。由于广域网的扩展能力,采用分布式计算系统的计算机可以跨大洲分隔,同时仍保持其可操作性。
分布式计算系统的目标是使分布式计算网络(无论其规模有多大、无论其组件位于何处)能够像一台计算机一样运行。这种协调是通过各组件之间复杂的消息传递系统实现的。
通信协议规范了这些组件的消息交互,并在其之间建立关系。这种关系被称为“耦合”,通常表现为以下两种形式之一:
分布式计算还可处理并发的正面和负面影响,即同时执行多个操作指令序列。其主要优点之一是并发支持多进程线程的并行计算。(不应将并行计算与并行处理混淆,后者是将运行时任务分解为多个小任务的过程。)
与并发性相关的负面影响通常包括延迟增加,甚至出现瓶颈,即由于过多的组件请求使分布式计算系统超负荷运行,导致流量几乎停滞。
并发不同于多线程的概念,多线程允许一个程序保持运行,同时其他任务在后台执行。并发意味着更大的资源消耗,因为多个线程同时运行并同时访问共享资源。
一些处理工作量异常庞大,超出了大多数单一系统的承受能力。分布式计算在多台设备之间共享工作量,因此能够高效地处理大型任务。
分布式计算基于共享资产的概念运行,它支持在分布式计算实例中的各个组件之间共享数据、软件和硬件等资源。
许多组织的在线流量会受到报道新闻或其他因素的影响,发生快速而剧烈的变化。分布式计算为企业提供了承受此类流量激增所需的灵活性。
分布式计算通过将大型处理作业拆分为小型计算任务并由多台计算机共享来提高性能水平,借此累增处理速度并扩大总存储空间。
虽然与集中式处理系统相比,拥有多个系统的分布式计算确实需要更多的前期成本,但随着时间的推移,这些成本会因为更低的延迟和更快的响应时间而实现均摊,最终使分布式计算比集中式系统更具成本效益。
分布式计算类型根据各自采用的分布式计算架构进行分类。
客户端-服务器系统使用客户端-服务器架构,允许与多个系统共同使用。其中,客户端将以请求的形式向服务器发出输入指令。这种通信通常涉及执行特定任务的命令或提供更多计算资源的请求。然后,服务器开始执行该任务或分配所请求的资源。完成后,服务器会向客户端发送有关所执行动作的消息。
集中式系统使用客户端-服务器架构,而对等系统则依赖对等架构(通常称为点对点架构)。对等系统利用节点,这些节点可以有效地充当客户端或服务器,要么识别需求并发出请求,要么满足这些需求并报告运营情况。顾名思义,对等系统中没有等级结构,因此在对等系统中运行的程序可以通过对等网络自由地相互通信和传输数据。
中间件可视为在两个不同的应用程序之间运行的“中间人”,也就是说,中间件本身就是一个位于两个应用程序之间并为两者提供服务的应用程序。中间件也具有解释性功能。它可充当不同系统上运行的各种互操作性应用程序之间的转换器,并允许这些应用程序自由交换数据。
三层系统因用于表示程序功能的层数而得名。与典型的客户端-服务器架构(数据存放于客户端系统内)不同,三层系统将数据存储在中间层,即“数据层”。应用程序层从一侧包围数据层,而表示层则从另一侧包围数据层。三层系统通常用于各种 Web 应用程序。
N 层系统有时又称为“多层分布式系统”,其网络功能容量不受限制且可路由至其他应用程序进行处理。N 层系统的架构与三层系统类似。N 层系统常用作众多 Web 服务和数据系统的架构基础。
分布式计算支持使用不同的编程范式(可视为编程风格):
网上银行展示了分布式计算的灵活性,因为它可以同时在多个地方进行业务,通常不同的银行网点负责安置提供关键服务(如客户服务、安全和交易处理)的服务器。正如银行客户所期望的那样,一切都是即时和无缝的。
目前,能源和环境部门正在使用分布式计算。在能源方面,分布式计算正在帮助智能电网技术调节使用并优化能源消耗。智能电网还使用分布式计算来收集来自不同输入设备(如传感器和智能电表)的环境数据。
特定金融领域的工作人员现已使用分布式计算系统。以风险管理为例,金融机构需要海量数据来执行大量计算,从而为概率和风险评估决策提供更精准的依据。分布式计算可确保在多个系统之间均匀分配计算负载。
分布式计算为众多科学学科提供了帮助,并为科学界一些最显著的成就做出了贡献。例如大型强子对撞机,它是世界上最强大的粒子加速器。其背后的实验依赖于大量的数据收集和分析,需要使用分布式计算。同样,分布式计算在人类基因组计划中也起到了同样的作用,因为该计划旨在绘制人类 DNA 序列图。分布式计算在天气预报和气候建模中也发挥着重要作用。
IBM Cloud Infrastructure Center 是一款兼容 OpenStack 的软件平台,用于管理 IBM zSystems 和 IBM LinuxONE 上的私有云基础架构。
发现专为企业混合云和 AI 策略设计的服务器、存储器和软件。
查找适合企业的业务需求的云基础设施解决方案,并按需扩展资源。