分布式系统是一组自治的计算机集合,通过通信网络相互连接,实现资源共享和协同工作,而呈现给用户的是单个完整的计算机系统。
2.1.1分布式与集中式
(1)分布式各组件和进程的行为是物理并发的,没有同一的时钟,因此各种同步机制对分布式系统意义重大,且实现起来困难;而集中式系统的时间是明确的,同步机制实现起来也相对容易。
(2)分布式系统各组件必须实现可靠、安全的相互作用,当一部分出现故障时系统大部分工作任然可以继续,无须停机,主要将故障部分承担的工作转移出去即可;而集中式系统出现故障,则不能继续工作,需要停机检查修改。
(3)分布式系统的异构性。不同的平台和设备,以及组件性能,可靠性,数据表示和策略等几乎所有属性都可能是不同的,而分布式系统必须作为一个整体严格遵循系统的功能和规范运行,同时最大限度兼顾各平台的地理性,保证系统的易维护性和易管理性。
2.1.2分布式与计算机网络
区别:
分布式系统的各个计算机之间相互通信,无主从关系,网络有主从关系
分布式系统资源为所有用户共享;网络有限制得共享
分布式系统中若干个计算机可以相互写作共同完成一项任务;网络不行
2.1.3分布式系统层次结构
1.对等体系结构
在这种体系结构中,一项粪污或活动设计的所有进程扮演相同的角色,作为对等方进行写作交互,不区分客户和服务器或运行它们的计算机。对等体系结构的目的是挖掘大量参与计算机中的组员(数据或硬件)来完成某个给定的任务或活动。
2. 中间件
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件再不同技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
中间件应满足大量应用的需要,运行与多种硬件和操作系统平台,并支持分布计算,提供支持跨网络,硬件和操作系统平台的标准接口。由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布式环境下的通信服务,这种通信服务称为平台。
中间件的目的是屏蔽异构性,给应用程序员提供方便的编程模型,中间件表示成一组计算机上的进程或对象,这些进程或对象交互,实现分布式应用的通信和资源共享支持。中间件提供有用的构造模块,构造再分布式系统中一起工作的软件组件。
目前广泛使用的分布式中间件:CORBA,JavaRMI Web服务
2.1.4分布式系统分类
- 分布式计算系统:它可以分成三个子分组:集群计算网格计算和云计算。
在集群计算中底层硬件是由类似的工作站或PC集组成,通过高速的局域网紧密连接起来的;而且每个节点运行的都是相同的操作系统。在网格计算中,组成分布式系统的这种子分组构成一个计算机系统联盟,其中每个系统归属与不同的管理域,而且在硬件,软件和部署网络技术上也差别很大。
-分布式信息系统
-分布式普适系统