什么是分布式计算?

分布式计算( Distributed computing )是一种科学的计算方法,能把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,然后再把所有的结果进行合并,得出统一的结论。分布式计算能节约整体计算时间,提高效率。

分布式计算的优势

分布式计算是一种计算机系统架构,将大型计算任务分散到多个计算机上并行执行,从而提高计算效率和可靠性。相比传统的集中式计算,分布式计算具有以下显著优势:

分布式计算网络可以根据工作负载和业务需求灵活地添加或删除计算节点,实现计算资源的动态扩展和收缩。这种可扩展性使企业能够轻松应对不断变化的业务需求,避免了集中式系统单点故障和资源瓶颈的风险。

分布式计算将应用程序分散部署在多个服务器上,当某个节点发生故障时,其他节点可以继续提供服务,从而提高了整个系统的可用性和容错能力。

在分布式系统中,各个计算节点会共享和同步信息数据,确保数据在整个系统中保持一致性,避免了数据不一致导致的错误。

分布式计算系统为用户提供了对底层物理设备的逻辑抽象,用户无需关注具体的硬件、中间件、操作系统等细节,只需关注应用程序的功能和性能。这种透明性使得企业能够灵活地组合不同的硬件和软件资源,构建高效协同的异构计算环境。

分布式计算能够充分利用底层硬件资源,通过任务分解和并行计算,实现比单机系统更快的计算性能。同时,分布式系统还能通过负载均衡和故障转移等机制,最大限度地发挥硬件资源的效能。

总之,分布式计算架构能够为企业带来卓越的可扩展性、高可用性、数据一致性、透明性和高效性,是现代计算系统发展的必然趋势。

分布式计算的工作原理

分布式计算的工作原理是基于分布式系统架构中不同模块和组件之间的消息传递和相互依赖关系。这种相互依赖关系被称为耦合(coupling),主要分为两种类型:

松耦合(Loose Coupling)

在分布式计算中,客户端和服务器之间保持松耦合关系。客户端发送的消息被添加到服务器的消息队列中,客户端可以继续执行其他任务,而无需等待服务器立即响应。这种松耦合设计提高了系统的灵活性和可扩展性,因为客户端和服务器可以相对独立地进行开发和部署。

紧密耦合(Tight Coupling)

分布式系统中的各个组件之间保持紧密耦合关系。通常情况下,这些组件通过高速局域网相互连接,形成一个集群(cluster)。在集群计算中,每台计算机都被配置为执行相同的任务,从而实现负载均衡和高可用性。紧密耦合的系统通常具有更高的性能和响应速度,但可扩展性和灵活性较差。

值得注意的是,分布式计算系统通常采用混合耦合策略,根据不同组件的功能和需求选择合适的耦合方式。例如,核心服务可能采用紧密耦合以提高性能,而外围服务则采用松耦合以提高灵活性。此外,消息队列、负载均衡器和服务发现等技术也被广泛应用于分布式计算,以实现高效、可靠的消息传递和组件协作。

典型的分布式计算技术

分布式计算的中间件(Middleware)技术

分布式计算的中间件(Middleware)是一种位于操作系统和应用程序之间的软件层,旨在简化分布式应用程序的开发和部署。它为应用程序提供了一组通用服务,如消息传递、事务管理、安全性和负载均衡等,从而使应用程序能够更高效、可靠和可扩展地运行在分布式环境中。中间件屏蔽了底层操作系统、网络和数据库的复杂性,为应用程序开发人员提供了一个统一的编程模型和 API,使他们能够专注于业务逻辑的实现。作为分布式计算的关键组成部分,中间件技术简化了分布式系统的开发和管理。

 分布式计算的中间件(Middleware)技术

分布式计算的移动 Agent 技术

分布式计算的移动 Agent 技术是一种基于代理的计算模型,其中代理是一个能够在异构网络环境中自主迁移和执行的软件实体。移动 Agent 具有自治性、移动性和智能性等特点。自治性意味着 Agent 可以根据预定义的规则和目标自主地做出决策和行为。移动性允许 Agent 在网络中的不同节点之间迁移和执行任务。智能性则使 Agent 能够与其他 Agent 或资源进行交互和协作。移动 Agent 技术可以有效地利用分布式资源,减少网络通信开销,并提高系统的容错性和可靠性。

分布式计算的移动 Agent 技术

分布式计算的 Web Service 技术

分布式计算的 Web Service 技术是一种基于开放标准的应用程序集成技术,它使用基于 XML 的标准协议来描述、发布、发现和调用分布在不同位置的服务端点。Web Service 技术允许不同的应用程序和系统通过网络进行互操作,实现数据交换和业务流程集成。它具有平台独立性、松散耦合、可重用性和可扩展性等优点。通过将现有的应用程序或业务功能封装为 Web Service,企业可以更高效地管理和扩展他们的业务。Web Service 技术为构建分布式、面向服务的应用程序架构提供了坚实的基础,是实现企业应用程序集成和业务流程自动化的关键技术之一。

分布式计算的 Web Service 技术

如何实现高效的分布式计算

分布式计算能够通过多种方式实现高效运行。下面将从几个关键角度进行阐述:

分布式系统能够提供比单机系统更大的存储空间、更快的计算能力和更高的带宽。同时还能避免单点故障,提高可靠性,并且比单体系统更易于扩展和管理。此外,使用低端计算机集群可能比使用单台高端计算机更具成本效益,同时达到所需的性能水平。

分布式算法如果能够在多项式数量的处理器上以对数时间复杂度解决问题,则被视为高效算法,归入 NC 复杂度类。此外,专注于最小化通信轮次而非仅仅计算步骤也很重要,因为 LOCAL 模型表明许多问题的解决时间可以远小于网络直径。

维护并发性、缺乏全局时钟以及容错性等是分布式系统独有的挑战,解决这些挑战对于实现高效分布式计算至关重要。共识协议、拜占庭容错和自稳定性等技术可以帮助克服这些挑战。

分布式计算系统具有可扩展性、高可用性、数据一致性、透明性和高效利用资源等优势。这些优势有助于实现高效的分布式计算,满足不断增长的工作负载需求,并提供容错能力,确保数据一致性和透明的用户体验。

亚马逊云科技中国峰会

6 月 19 日 - 20 日|上海世博中心

聚焦生成式 AI 从技术爆发迈向行业深耕的跨越

分布式计算的应用场景

分布式计算在各个领域都有广泛的应用场景。以下是一些主要的应用实例:

网络和互联网应用

分布式计算广泛应用于电信网络(如电话网络、蜂窝网络)和互联网,以及网络应用(如万维网、P2P 网络、大型多人在线游戏和分布式数据库)。这些系统依赖于分布式计算实现更大的存储和内存、更快的计算速度、更高的带宽和更高的可靠性。

网络和互联网应用

实时过程控制

分布式计算在航空和工业控制等实时过程控制系统中也有应用,用于监控和控制复杂的物理过程。这些系统需要高度的实时性和可靠性,分布式计算可以提供所需的计算能力和冗余。

实时过程控制

科学计算和并行计算

在科学计算、集群计算、网格计算、云计算和分布式渲染等领域,分布式计算被广泛用于并行计算。通过将计算任务分配到多个节点,可以显著提高计算速度和处理能力。

科学计算和并行计算

生命科学和医疗保健

在生命科学和医疗保健领域,分布式系统被用于建模和模拟复杂的生命科学数据、加速基于结构的药物设计、减少基因组数据处理时间,以及开发智能系统帮助医生通过处理大量复杂的医学图像来诊断患者。

生命科学和医疗保健

工程研究

在工程研究领域,分布式系统被用于模拟复杂的物理和力学概念,有助于改进产品设计、建造复杂结构和设计更快的车辆。例如计算流体动力学研究和计算机辅助工程模拟。

工程研究

分布式系统的挑战

分布式计算系统面临着诸多挑战,需要妥善应对。

在分布式系统中,维护各组件的并发性是一大挑战。由于缺乏全局时钟,无法精确确定事件的发生顺序,从而导致并发问题。即便某个组件发生故障,整个系统也不会完全瘫痪,但这引入了独立组件故障的管理难题。

边缘计算的分布式特性,要求采用独立于云的特殊加密机制,从而引入了安全方案的转变。边缘节点可能资源受限,进一步限制了安全方法的选择。与云数据中心相比,分布式系统在可扩展性方面也面临挑战,需要考虑设备异构性、动态条件和连接可靠性等因素。

分布式系统必须提供健壮的故障转移管理机制,以保持服务持续运行。这需要检测错误并从故障中恢复的机制。每个设备的连接可靠性和网络拓扑感知能力在此过程中至关重要。

分布式跟踪用于监控和调试分布式系统,但面临手动检测、前端覆盖范围有限和随机采样等挑战。手动检测需要开发人员修改代码生成跟踪,可能导致编码错误和延迟。跟踪工具可能仅限于后端分析,无法检测前端服务问题。此外,某些跟踪系统使用随机采样,可能导致数据收集不完整。分布式计算系统为用户和物理设备提供了逻辑分离,但开发人员仍需管理不同的硬件、中间件、软件和操作系统,以确保系统顺畅运行,增加了基础设施管理的复杂性和手动工作量。

分布式计算系统的组成部分

分布式计算系统是由多个自治的计算实体组成的,这些实体通过消息传递进行通信,而不是直接访问共享内存。每个实体都有自己的本地内存,它们可以是计算机或节点。整个系统可能有一个共同的目标,例如解决大型计算问题,用户将这些自治处理器集合视为一个整体。或者,每台计算机可能都有自己的用户需求,目的是协调共享资源的使用或提供通信服务。

分布式系统的典型特征

分布式系统的典型特征包括能够容忍单个计算机的故障,以及系统结构(如网络拓扑和延迟)事先未知,可能由不同类型的计算机和网络链路组成。与单机相比,分布式系统可以提供更大的存储和内存、更快的计算、更高的带宽和更高的可靠性,因为没有单点故障。它们也可能比单台高端计算机更具成本效益。

分布式系统的典型特征

分布式系统的耦合方式

分布式系统中的组件之间通过通信协议或规则创建依赖关系,这种依赖关系称为耦合。主要有两种耦合类型:松散耦合和紧密耦合。

  • 松散耦合:松散耦合是指组件之间的连接较弱,一个组件的变化不会影响另一个组件。例如,客户端和服务器计算机可以通过时间松散耦合,客户端的消息被添加到服务器队列中,客户端可以继续执行其他功能,直到服务器响应。
  • 紧密耦合:紧密耦合是指高性能分布式系统使用快速局域网将多台计算机集群化。在集群计算中,每台计算机都设置为执行相同的任务,中央控制系统(称为集群中间件)控制和调度任务,并协调不同计算机之间的通信。
分布式系统的耦合方式

分布式系统的其他架构

分布式计算系统还可以采用 n 层架构,其中不同的客户端-服务器系统相互通信以解决同一问题。此外,对等分布式系统为所有网络计算机分配相等的责任,没有客户端和服务器之分。

分布式系统的其他架构

分布式计算的发展历程

分布式计算是计算机科学的一个领域,研究分布式系统,即组件通过相互传递消息协调行为以实现共同目标的计算机系统。分布式计算的发展历程可以概括为以下几个阶段:

分布式计算的概念最早可以追溯到 20 世纪 80 年代初。1982 年,第一个分布式计算领域的会议 "分布式计算原理研讨会"(PODC)召开。1985 年,另一个重要会议 "国际分布式计算研讨会"(DISC)在加拿大渥太华首次举行。这标志着分布式计算作为一个独立的研究领域正式确立。

分布式计算涉及多种硬件和软件架构,包括共享内存、共享磁盘和无共享架构等。分布式编程通常采用客户端服务器、三层、n 层或对等架构等模式。这些架构为分布式系统的设计和实现提供了基础。

随着互联网和云计算的兴起,分布式计算得到了广泛应用。大规模分布式系统被用于搜索引擎、社交网络、电子商务等领域,以满足大规模数据处理和高并发访问的需求。分布式计算也为物联网、边缘计算等新兴领域提供了技术支撑。

欢迎加入亚马逊云科技培训中心

从 0 到 1 轻松上手云服务,获取更多官方开发资源及培训教程

快速上手训练营

第一课:亚马逊云科技简介

本课程帮助您初步了解云平台与本地环境的差异,以及亚马逊云科技平台的基础设施和部分核心服务,包括亚马逊云科技平台上的弹性高可用架构,架构设计准则和本地架构迁移上云的基本知识。

亚马逊云科技技术讲师:李锦鸿

第二课:存储与数据库服务

您将在本课程中学习到亚马逊云科技上的三个存储服务分别是什么。我们也将在这个模块中为您介绍亚马逊云科技上的关系型数据库服务 Amazon Relational Database Service (RDS)。

亚马逊云科技资深技术讲师:周一川

第三课:安全、身份和访问管理

在这个模块,您将学习到保护您在亚马逊云科技上构建的应用的安全相关知识,责任共担模型以及身份和访问管理服务, Identity and Access Management (IAM) 。同时,通过讲师演示,您将学会如何授权给 EC2 实例,允许其访问 S3 上的资源。

亚马逊云科技技术讲师:马仲凯

了解更多入门学习计划 »

快速上手训练营

账单设置与查看

账单设置与查看

快速注册账号 享用免费套餐

跟随注册步骤详解,三分钟快速创建账号,领取免费权益

打开中国区账号注册页面

01 填写您 注册账号的邮箱,点击“继续”

02 查看您的 注册账号邮箱

注: 发件箱 no-reply@register.signin.amazonaws.com.cn

03 输入 邮箱中收到的验证码,点击“继续”

注: 该链接中的内容显示语言是与您的网页浏览器设置相一致的,您可以根据需要自行调整语言栏。

立即开始注册 »

image

填写用户名密码

01 请设置您的 账号用户名

02 为您的帐号 设置密码

03 重新 输入密码

立即开始注册 »

图片

填写账号联系人以及公司信息

01 填写公司联系人 姓名全称

02 填写公司联系人的 联系电话

03 填写 公司名称

注: 公司名称请务必与您所提供的营业执照公司名称保持一致

04 填写 公司办公地址

注: 省份/自治区/直辖市 - 城市 - 区 - 街道门牌号以及楼层信息 - 邮政编码

05 请选择 是否需要发票

注: *附件-申请发票流程 供您参考

06 点击查看 客户协议 勾选方框表示您已阅读,并同意客户协议的条款

立即开始注册 »

图片

企业信息验证

01 在此上传 企业注册执照

02 请填写网络安全负责人的 姓名

注: 该字段务必与您下方提供的身份证号匹配或与证件上的姓名保持一致

03 请填写网络安全负责人的 联系方式

注: 有效的电子邮件地址 - 有效的中国内地 手机号码 - 座机号码(如无座机,请填写正确有效的手机号码)

04 在此上传网络安全负责人的 身份证件

注: 当您选择证件类型为“身份证”时,您需要填写正确的身份证号码,选择其他证件类型时,您需要上传证件扫描稿

立即开始注册 »

图片

手机验证与支持计划

01 在此填写 手机号

02 请输入您收到的 4 位 验证码

03 请点击 继续

04 请根据需求 选择一个支持计划

立即开始注册 »

图片
Summit

亚马逊云科技中国峰会即将开幕!

6 月 19 日 - 20 日|上海世博中心

与 12,000+ 云计算从业者齐聚一堂,探索全球行业应用实践,共话未来!