2.2 物理模型
物理模型是从计算机和所用网络技术的特定细节中抽象出来的分布式系统底层硬件元素的表示。
基线物理模型:在第1章中,分布式系统被定义成其位于联网计算机上的硬件或软件组件仅通过消息传递进行通信和协调动作的系统。这引出分布式系统的最小物理模型,最小物理模型是一组可扩展的计算机结点,这些结点通过计算机网络相互连接进行所需的消息传递。
在这个基线模型之上,我们能有效地识别出三代分布式系统。
早期的分布式系统:这样的系统出现在20世纪70年代晚期和80年代早期,随着局域网技术如以太网(参见3.5节)的出现而出现。这些系统一般由通过局域网互联的10~100个结点组成,它们与互联网的连接有限并支持少量的服务(如共享的本地打印机和文件服务器以及电子邮件和互联网上的文件传输)。单个的系统大部分是同构的,开放性不是主要的问题。服务质量提供还很少,是围绕这样的早期系统开展的很多研究中的一个焦点。
互联网规模的分布式系统:在这个基础上,20世纪90年代更大规模的分布式系统开始出现,以适应当时互联网惊人的发展(例如,Google搜索引擎在1996年第一次发布)。在这样的系统中,底层物理基础设施由第1章图1-3所示的物理模型组成,即一个可扩展的结点集合,这些结点通过一个网络的网络(互联网)相互连接。这样的系统利用了互联网提供的基础设施从而变成真正的全球化。它们包含大量的结点并且为全球化组织提供分布式系统服务,也跨组织提供分布式系统服务。在这样的系统中,从网络、计算机体系结构、操作系统、所采用的语言和所涉及的开发团队方面来说,异构性是很突出的。这导致开放标准和相关的中间件技术(如CORBA和最近的Web服务等)的重要性不断增加。在这样的全球化系统中,采用了额外的服务来提供端到端的服务质量特性。
当代的分布式系统:在上述系统中,结点通常是台式机,因此是相对静态的(即在一段时间里停留在一个物理位置)、分立的(没有嵌入到其他物理实体内)和自治的(就物理基础设施而言,很大程度上独立于其他计算机)。1.3节介绍的关键趋势促进了物理模型的进一步发展:
- 移动计算的出现导致这样的物理模型,在这种模型中,像笔记本电脑或智能手机这样的结点可以从一个位置移动到另一个位置,它还导致了对诸如服务发现这样的新增功能的需要和对自发互操作的支持。39
- 无处不在计算的出现导致了体系结构从分立结点型转向计算机被嵌入到日常物品和周围环境中(例如,嵌入在洗衣机中或更一般地嵌入在智能家庭设备中)。
- 云计算特别是集群体系结构的出现导致了从自治结点完成给定任务转向一组结点一起提供一个给定的服务(例如,由Google提供的搜索服务)。
最终的结果是出现一个异构性有很大增加的物理体系结构,例如,从无处不在计算中使用的最小的嵌入式设备到网格计算中的复杂的计算元素。这些系统部署不断增加的不同的网络技术,并提供广泛的应用和服务。这样的系统可能涉及成百上千个结点。
系统的分布式系统 最近的一个报告讨论了超大规模(Ultra-Large-Scale,ULS)的分布式系统[www.sei.cmu.edu]。报告收集了现代分布式系统的复杂性,把这样的(物理)体系结构叫做系统的系统(反映了与将互联网看成网络的网络相同的观点)。系统的系统可以被定义成一个复杂系统,它由一系列子系统组成,这些子系统本身也是系统,它们一起完成一个或多个特定的任务。
作为系统的系统的一个例子,考虑一个用于洪水预测的环境管理系统。在这样一个场景中,部署了传感网来监视与河流、冲积平原、潮汐效应等相关的不同的环境参数的状态。这可以通过在集群计算机(相关讨论参见第1章)上运行模拟程序,与负责预测洪水可能性的系统耦合在一起。可以建立其他系统用于维护和分析历史数据或通过移动电话给关键的利益共享者提供早期报警。
总结 图2-1总结了本节提出的三代分布式系统,从管理异构性水平以及提供关键特性(如开放性和服务质量)的角度,用表格显示了与当代分布式系统相关的重要挑战。