在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过
计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的
分布式操作系统。通常,对用户来说,分布式系统只有一个模型或范型。在
操作系统之上有一层
软件
中间件(middleware)负责实现这个模型。一个著名的分布式系统的例子是
万维网(World Wide Web),在万维网中,所有的一切看起来就好像是一个文档(
Web页面)一样。
在计算机网络中,这种统一性、模型以及其中的软件都不存在。用户看到的是实际的机器,计算机网络并没有使这些机器看起来是统一的。如果这些机器有不同的硬件或者不同的操作系统,那么,这些差异对于用户来说都是完全可见的。如果一个用户希望在一台远程机器上运行一个
程序,那么,他必须登陆到远程机器上,然后在那台机器上运行该程序。
分布式系统和
计算机网络系统的共同点是:多数分布式系统是建立在计算机网络之上的,所以分布式系统与计算机网络在
物理结构上是基本相同的。
他们的区别在于:分布式操作系统的设计思想和
网络操作系统是不同的,这决定了他们在结构、工作方式和功能上也不同。网络操作系统要求网络用户在使用
网络资源时首先必须了解网络资源,网络用户必须知道网络中各个计算机的功能与配置、软件资源、网络文件结构等情况,在网络中如果用户要读一个
共享文件时,用户必须知道这个文件放在哪一台计算机的哪一个目录下;分布式操作系统是以全局方式管理系统资源的,它可以为用户任意调度网络资源,并且调度过程是“透明”的。当用户提交一个作业时,分布式操作系统能够根据需要在系统中选择最合适的
处理器,将用户的作业提交到该处理程序,在处理器完成作业后,将结果传给用户。在这个过程中,用户并不会意识到有多个处理器的存在,这个系统就像是一个处理器一样。
分布式软件系统(Distributed Software Systems)是支持
分布式处理的软件系统,是在由
通信网络互联的
多处理机
体系结构上执行任务的系统。它包括
分布式操作系统、
分布式程序设计语言及其编译(解释)系统、
分布式文件系统和
分布式数据库系统等。
分布式操作系统
负责管理
分布式处理系统资源和控制分布式
程序运行。它和集中式
操作系统的区别在于资源管理、
进程通信和
系统结构等方面。
分布式程序设计语言
用于编写运行于
分布式计算机系统上的分布式
程序。一个分布式程序由若干个可以独立执行的
程序模块组成,它们分布于一个
分布式处理系统的多台计算机上被同时执行。它与集中式的
程序设计语言相比有三个特点:分布性、通信性和稳健性。
分布式文件系统
具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。
分布式数据库系统
由分布于多个计算机结点上的若干个
数据库系统组成,它提供有效的存取手段来操纵这些结点上的子数据库。
分布式数据库在使用上可视为一个完整的数据库,而实际上它是分布在地理分散的各个结点上。当然,分布在各个结点上的子数据库在逻辑上是相关的。
分布式邮件系统
分布式
邮件系统的布署设计,即同一域名下,跨地域部署的邮件系统。适用 于在各地设有分部的政府机构或者大型集团,有效管理各地的人员结构,同时提高了
邮件服务器应用效率。
[1]
分布式邮件系统由多个数据中心组成,大量分支机构或较小的分散站点与数据中心的连接。分支机构需要建立自己的邮件服务器,来加快处理当地分支机构的邮件。承载相应的数据处理量。以提高邮件处理能力,邮件收发速度,邮件功能模块化。
分布式部署方案适合以下情况
1、公司有不同分支机构或较小的分散站点与公司总部的网络连接通常是低带宽、高滞后或不可靠的。
2、公司总部网络无法处理中心位置的服务流量。
3、分支机构有自己的
服务器、企业网络、域控制器和系统管理员,包含数目不定的用户。
4、用户要求有更快的邮箱访问速度、更佳的用户体验和可用性。
5、邮箱用户数量大,并发线程多
6、对于安全要求高,需要把邮件服务器不同的功能分开部署。
分布式邮件系统方案情况
1、异地同域名分布式
此方案适用于集团邮件系统,各个下属子公司为了提高邮件收发速度,降低邮件负载而提出的方案。分为同域名不同用户数分布式和同域名同用户数分布式
2、功能分布式
邮件负载比较重,对于某一些功能要求比较高,需要邮件服务器功能分开部署的客户。
3、用户分布式
邮箱用户数巨大,单机邮件服务器无法承载,服务器做集群。
-----------------------------------------------------------------------------------------------------------------------------------
分布式系统,最简单的例子是Browser--Server结构,这两者结合起来就成了最简单的分布式系统,或者可以这样理解:基于网络的
软件系统大多都是分布式系统,只不过在系统的复杂程度上有所区别而已。
分布式系统被用在许多不同类型的应用中。以下我们列出了一些应用。对这些应用而言,使用分布式系统要比其他
体系结构如
处理机和共享
存储器
多处理机更优越:
并行和高性能应用
原则上,并行应用也可以在共享存储器多处理机上运行,但共享存储器系统不能很好地扩大规模以包括大量的处理机。HPCC(高性能计算和通信)应用一般需要一个可伸缩的设计,这种设计取决于
分布式处理。
容错应用
因为每个P E是自治的,所以分布式系统更加可靠。一个单元或资源(
软件或硬件)的
故障不影响其他资源的正常功能。
固有的分布式应用
许多应用是固有分布式的。这些应用是突发模式(burstmode)而非批量模式(bulk mode)。这方面的实例有事务处理和Internet Javad,
程序。
这些应用的性能取决于吞吐量(
事务响应时间或每秒完成的事务数)而不是一般多处理机所用的执行时间。
对于一组用户而言, 分布式系统有一个特别的应用称为
计算机支持的协同工作(Computer Supported Cooperative Working,CSCW)或
群件(groupware), 支持用户协同工作。另一个应用是分布式会议, 即通过物理的
分布式网络进行电子会议。同样,
多媒体远程教学也是一个类似的应用。
由于在不同的平台上如:Pc、工作站、局域网和广域网上可获得非常多样的应用,用户希望能超出他fliP c的限制以获得更广泛的特实用、功能和性能。不同网络和环境(包括分布式系统环境)下的q 操作性变得越来越重要。为了达到
互操作性,用户需要一个标准的
分布式计算环境,在这个环境里,所有系统和资源都可用。
DCE(分布式计算环境)是OSF(开放系统基金会)开发的
分布式计算技术的工业标准集。它提供保护和控制对数据访问的
安全服务、容易寻找分布式资源的名字服务、以及高度可伸缩的模型用于组织极为分散的用户、服务和数据。D C E可在所有主要的
计算平台上运行, 并设计成支持异型硬件和
软件环境下的分布式应用。
DCE已经被包括TRANSVARL在内的一些r一商实现。TRANSVARL是最早的多厂商组(multi vendor team)的成员之一,它提出的建议已成为DCE体系结构的基础。在中可以找到利用DCE开发分布式应用的指南。具有标准接口和协议的系统也叫做开放系统。
一些其它标准基于一个特别的模型,
比如CORBA(公用
对象请求代理程序体系结构),它是由OMG (对象管理组)和多计算机厂商联盟开发的一个标准。CORBA使用
面向对象模型实现分布式系统中的透明服务请求。
工业界有自己的标准,比如
微软的分布式
构件对象模型(DCOM)和Sun Microsystem公司的Java Beans。