分布式系统
出自 MBA智库百科(https://wiki.mbalib.com/)
分布式系统(Distributed System,DS)
目录 |
分布式系统定义[1]
分布式系统有很多不同的定义,一般认为:“一个分布式系统是一些独立的计算机集合,但是对这个系统的用户来说,系统就像一台计算机一样。”这个定义有两方面的含义:第一,从硬件角度来讲,每台计算机都是自主的;第二,从软件角度来讲,用户将整个系统看做是一台计算机。这两者都是必需的,缺一不可。
分布式系统的主要特征[1]
分布式系统具有以下几个主要特征:
(1)分布性:系统中的多台计算机之间没有主、从之分,即没有控制整个系统的主机,也没有受控的从机。
(2)透明性:系统资源被所有计算机共享。每台计算机的用户不仅可以使用本机的资源,还可以使用本分布式系统中其他计算机的资源(包括CPU、文件、打印机等)。
(3)同一性:系统中的若干台计算机可以互相协作来完成一个共同的任务,或者说一个程序可以分布在几台计算机上并行地运行。
(4)通信性:系统中任意两台计算机都可以通过通信来交换信息。
分布式系统的优缺点[1]
分布式系统与集中式系统相比具有以下一些优点:
(1)经济:随着微处理机技术的发展,现在人们只需花不多的钱就能买到一个CPU芯片。分布式系统通常就是在一个系统中使用集中在一起的大量廉价CPU,可以得到比单个大型集中式系统好的多的性能价格比。
(2)快速:分布式系统由于使用了并行处理技术,因此它总的计算能力比单个的大型集中式系统强很多。
(3)可靠:分布式系统中工作负载都是分散在多台机器上,单个机器故障只会使一台机器停机,而不会影响其他机器,从而获得很高的可靠性。在系统中多台机器同时出现故障的概率是很低的,理想情况下,某一时刻如果有5%的计算机出现故障,系统仍能继续工作。因此对于关键性的应用,一般都采用分布式系统来获得高可靠性。
(4)易扩充:分布式系统允许系统在需求增长时逐渐进行扩充。因此在分布式系统组成后,可以方便地添加若干台计算机,既不用修改软件,也不用另行设计硬件。
(5)数据共享:允许多个用户访问一个公共的数据库。例如,机票预定系统中的每个售票员需要访问航班及座位信息,如果将航班及座位信息数据库给他们每人备份一个,其实是无法工作的,因为他们不知其他人已经卖了哪些座位,所以计算机必须互连。而互连本身就产生了分布式系统。
(6)设备共享:共享并不局限于数据,有些昂贵的外围设备,如彩色激光打印机、照相排版机和大型存储设备等,都允许多个用户共享。
(7)通信:使人们之间的通信变得更加容易,如通过电子邮件。
(8)灵活性:分布式系统中将多台计算机连在一起,可以使工作能够在最合适的计算机上完成,可以使用最有效的方式将工作负荷分配到可用的机器上,即使某些计算机失效也可以使其工作在其他计算机上得到补偿。
尽管分布式系统有很多优点,但也存在一些缺点。首先是软件问题。分布式系统需要与集中式系统完全不同的软件,特别是系统所需要的分布式操作系统才刚刚出现。其次是通信网络问题。由于网络会损失信息,因此需要专门的软件进行恢复,当网络出现过载时也必须对它进行改造替换或加入另外的网络扩容,这些都将会抵消通过建立分布式系统所获得的大部分优势。另外,数据易于共享也存在安全问题,容易造成对保密数据的访问。尽管存在这些潜在的问题,大家还是认为分布式系统的优点多于缺点,并且普遍认为分布式系统在未来几年中会越来越重要。
分布式系统应用和标准[2]
分布式系统被用在许多不同类型的应用中。列出以下一些应用。对这些应用而言,使用分布式系统要比其他体系结构如处理机和共享存储器多处理机更优越:
- 并行和高性能应用
原则上,并行应用也可以在共享存储器多处理机上运行,但共享存储器系统不能很好地扩大规模以包括大量的处理机。HPCC(高性能计算和通信)应用一般需要一个可伸缩的设计,这种设计取决于分布式处理。
- 容错应用
因为每个PE是自治的,所以分布式系统更加可靠。一个单元或资源(软件或硬件)的故障不影响其他资源的正常功能。
- 固有的分布式应用
许多应用是固有分布式的。这些应用是突发模式(burst mode)而非批量模式(bulk mode)。这方面的实例有事务处理和Internet Javad,程序。
这些应用的性能取决于吞吐量(事务响应时阳J或每秒完成的事务数)而不是一般多处理机所用的执行时间。
对于一组用户而言, 分布式系统有一个特别的应用称为计算机支持的协同工作(computer supported Cooperative working,CSCW)或群件(group ware), 支持用户协同工作。另一个应用是分布式会议, 即通过物理的分布式网络进行电子会议。同样,多媒体远程教学也是一个类似的应用。
由于在不同的平台上如:Pc、工作站、局域网和广域网上可获得非常多样的应用,用户希望能超出他们Pc的限制以获得更广泛的特征、功能和性能。不同网络和环境(包括分布式系统环境)下的互操作性变得越来越重要。为了达到互操作性,用户需要一个标准的分布式计算环境,在这个环境里,所有系统和资源都可用。
DCE (分布式计算环境)是OSF (开放系统基金会)开发的分布式计算技术的工业标准集。它提供保护和控制对数据访问的安全服务、容易寻找分布式资源的名字服务、以及高度可伸缩的模型用于组织极为分散的用户、服务和数据。D C E可在所有主要的计算平台上运行, 并设计成支持异型硬件和软件环境下的分布式应用。
DCE已经被包括TRANSVARL在内的一些厂商实现。TRANSVARL是最早的多厂商组(multi-vendor team)的成员之一,它提出的建议已成为DCE体系结构的基础。在中可以找到利用DCE开发分布式应用的指南。具有标准接口和协议的系统也叫做开放系统。
一些其它标准基于一个特别的模型,比如CORBA (公用对象请求代理程序体系结构),它是由OMG (对象管理组)和多计算机厂商联盟开发的一个标准。CORBA使用面向对象模型实现分布式系统中的透明服务请求。
工业界有自己的标准,比如微软的分布式构件对象模型(DCOM)和Sun Microsystem公司的JavaBeans。
赞一个。