分布式复习资料 第1 章 分布式系统是若干独立计算机的结合,这些计算机对于用户来说就像是单个相关系统。 硬件方面:机器本身是独立的。 软件方面:对用户来说就像与单个系统打交道。 重要特性:1、各种计算机之间的差别以及计算机之间的通信方式的差别对用户是隐藏的。 2、用户和应用程序无论在何时何地都能够以一种一致和统一的方式与分布式系统进行交互。 中间件:为了使种类各异的计算机和网络都呈现为单个的系统,分布式系统常常通过一个 “软件层”组织起来。该“软件层”在逻辑上位于由用户和应用程序组成的高层与由操作系统组成的低层之间。如图,这样的分布式系统有时又称为中间件。 注意层次分布与组件 分布式系统的最主要目标是使用户能够方便地访问远程资源,并且以一种受控的方式与其他用户共享这些资源。 透明性:如果一个分布式系统能够在用户和应用程序面前呈现为单个计算机系统,这样的分布式系统就是透明的。 透明的类型:1、访问透明性:指对不同数据表示形式以及资源访问方式的隐藏。 2、位置透明性:指用户无法判别资源在系统中的物理位置。 3、并发透明性:在资源共享时,用户不会感觉到他人也在使用自己正使用的资源。 4、故障透明性:用户不会注意到某个资源(也许他从未听说过这个资源)无法正常工作,以及系统随后从故障中恢复的过程。 开放性:一个开放式的分布式系统,是根据一系列准则来提供服务,这些准则描述了所提供服务的语法和含义。 互操作性:刻画了来自不同厂商的系统或组件的两种实现能够在何种程度上共存并且协同工作,这种共存和协同工作只能依赖于通过双方在公共标准中规定的各自所提供的服务来完成。 可移植性:刻画了这样的性能,如果为分布式系统A 开发了某个应用程序,并且另一个分布式系统B 与A 具有相同的接口,该应用程序在不做任何修改的情况下在B 上执行的可行程度。 可扩展性:当一个系统需要进行扩展时,必须解决多方面的问题。首先考虑规模上的扩展。在需要支持更多的用户或资源时,我们常常收到集中的服务、数据以及算法所造成的限制,如图所示。例如,许多服务是以集中的方式实现的,它们由分布式系统中一台特定的计算机上运行的单个服务来提供。这种方案存在的问题是显而易见的:用户增多时该服务将成为系统的瓶颈。即使它拥有无限的处理能力和存储能力,在系统达到一定规模后与该服务器的通信也将发生困难。从而使得系统规模无法继续增长。 扩展技术: 1、 隐...