最新《分布式系统原理与范型第二版》复习资料.docx

上传人:b****2 文档编号:2041162 上传时间:2022-10-26 格式:DOCX 页数:38 大小:3.91MB
下载 相关 举报
最新《分布式系统原理与范型第二版》复习资料.docx_第1页
第1页 / 共38页
最新《分布式系统原理与范型第二版》复习资料.docx_第2页
第2页 / 共38页
最新《分布式系统原理与范型第二版》复习资料.docx_第3页
第3页 / 共38页
最新《分布式系统原理与范型第二版》复习资料.docx_第4页
第4页 / 共38页
最新《分布式系统原理与范型第二版》复习资料.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

最新《分布式系统原理与范型第二版》复习资料.docx

《最新《分布式系统原理与范型第二版》复习资料.docx》由会员分享,可在线阅读,更多相关《最新《分布式系统原理与范型第二版》复习资料.docx(38页珍藏版)》请在冰豆网上搜索。

最新《分布式系统原理与范型第二版》复习资料.docx

最新《分布式系统原理与范型第二版》复习资料

分布式复习资料

第1章

分布式系统是若干独立计算机的结合,这些计算机对于用户来说就像是单个相关系统。

硬件方面:

机器本身是独立的。

软件方面:

对用户来说就像与单个系统打交道。

重要特性:

1、各种计算机之间的差别以及计算机之间的通信方式的差别对用户是隐藏的。

2、用户和应用程序无论在何时何地都能够以一种一致和统一的方式与分布式系统进行交互。

中间件:

为了使种类各异的计算机和网络都呈现为单个的系统,分布式系统常常通过一个“软件层”组织起来。

该“软件层”在逻辑上位于由用户和应用程序组成的高层与由操作系统组成的低层之间。

如图,这样的分布式系统有时又称为中间件。

注意层次分布与组件

分布式系统的最主要目标是使用户能够方便地访问远程资源,并且以一种受控的方式与其他用户共享这些资源。

透明性:

如果一个分布式系统能够在用户和应用程序面前呈现为单个计算机系统,这样的分布式系统就是透明的。

透明的类型:

1、访问透明性:

指对不同数据表示形式以及资源访问方式的隐藏。

2、位置透明性:

指用户无法判别资源在系统中的物理位置。

3、并发透明性:

在资源共享时,用户不会感觉到他人也在使用自己正使用的资源。

4、故障透明性:

用户不会注意到某个资源(也许他从未听说过这个资源)无法正常工作,以及系统随后从故障中恢复的过程。

开放性:

一个开放式的分布式系统,是根据一系列准则来提供服务,这些准则描述了所提供服务的语法和含义。

互操作性:

刻画了来自不同厂商的系统或组件的两种实现能够在何种程度上共存并且协同工作,这种共存和协同工作只能依赖于通过双方在公共标准中规定的各自所提供的服务来完成。

可移植性:

刻画了这样的性能,如果为分布式系统A开发了某个应用程序,并且另一个分布式系统B与A具有相同的接口,该应用程序在不做任何修改的情况下在B上执行的可行程度。

可扩展性:

当一个系统需要进行扩展时,必须解决多方面的问题。

首先考虑规模上的扩展。

在需要支持更多的用户或资源时,我们常常收到集中的服务、数据以及算法所造成的限制,如图所示。

例如,许多服务是以集中的方式实现的,它们由分布式系统中一台特定的计算机上运行的单个服务来提供。

这种方案存在的问题是显而易见的:

用户增多时该服务将成为系统的瓶颈。

即使它拥有无限的处理能力和存储能力,在系统达到一定规模后与该服务器的通信也将发生困难。

从而使得系统规模无法继续增长。

扩展技术:

1、隐藏通信等待时间

对于地域扩展是比较适用的。

基本想法:

尽量避免等待远程服务对请求的响应。

例如,当对远程计算机的某个服务发出请求时,在发出请求端,除了等待服务器响应之外,还可以利用这段时间做其他工作。

本质上,以这种方式构建的应用程序使用的异步通信。

当响应到来时,应用程序产生中断,并且调用专门的处理程序对前面发出的请求进行处理。

2、分布技术

分布技术把某个组件分割成多个部分,然后再将它们分散到系统中区。

3、缓存

缓存是复制的一种特殊形式。

与复制相同,缓存一般是在访问资源的客户附近制作该资源的副本。

然而,与复制不同的是,是否进行缓存是由要访问资源的客户决定的,而不是由资源拥有者决定的。

缓存和复制都存在严重的缺点,这些缺点可能会对可扩展性造成不良影响。

进行缓存或者复制以后,由于资源存在多个副本,修改其中的一个会导致它与其他副本不相同,从而导致一致性方面的问题。

集群计算:

底层硬件是由类似的工作站或PC集组成,通过高速的局域网紧密连接起来。

而且,每个节点运行的都是相同的操作系统。

网格计算:

组成分布式系统的这种子分组通常构建成一个计算机系统联盟,其中的每个系统归属于不同的管理域,而且在硬件、软件和部署网格技术上也差别很大。

光纤层:

在特定站点提供对局部资源的接口。

这些接口都进行了定制,以允许在某个虚拟组织中实现资源共享。

连接层:

由通信协议组成,用于支持网格事务处理,延伸多个资源的使用。

例如,用于在资源之间传输数据或从远程地点访问资源的协议。

另外,连接层还有安全协议,用于进行用户和资源的认证。

资源层:

负责管理单个资源。

它使用由连接层提供的功能,直接调用对光线层可用的接口。

 

汇集层:

负责处理对多个资源的访问,通常由资源分派、把任务分配和调度到多资源以及数据复制等服务组成。

连接层和资源层由相对较小、较标准的协议集组成,而汇集层由很多用于不同目的的不同协议组成。

应用层:

由应用程序组成。

 

第2章

体系结构样式:

1、分层体系结构

2、基于对象的体系结构

3、以数据为中心的体系机构

4、基于事件的体系结构

客户—服务器模型

分为三层:

1)用户接口层2)处理层3)数据层

多层体系结构

点对点体系结构:

在结构化的点对点体系机构中,覆盖网络是一个确定性的过程来构成的。

这个使用最多的进程是通过一个分布式哈希表来组织继承的。

超级对等体:

能维护一个索引或者充当一个代理程序的结点。

控制管理多个常规对等体。

边界服务器系统

这种系统部署在因特网中,服务器放置在网络的“边界”。

这种边界是由企业网络和实际的因特网之间的分界线形成的。

协作分布式系统

混合结构主要部署在协作式分布式系统中。

在很多重要的系统中,主要问题是先启动起来,因为经常会部署一个传递的客户-服务器结构。

一旦某个结点要加入系统,就可以使用完全非集中式的组织结构,用于协作。

自治计算:

以高级反馈控制系统的形式来组织分布式系统,允许自动自适应变换。

也叫做自主系统。

自适应的多样性:

自我管理、自我恢复、自我配置、自我优化等。

反馈控制模型

反馈控制系统的核心由需要管理的组件形成。

这些组件能通过可控输入参数驱动,受干扰或噪声输入的影响。

系统本身需要被监视,因此需要对系统各个方面进行测量。

但是实际测量很难做到,就需要一个逻辑尺度预测组件。

控制循环的核心部分是反馈分析组件,分析上述测量值,并把它们与参考值进行比较。

包含了决定自适应的各种算法。

 

第三章线程

为什么要使用线程?

虽然进程构成了分布式系统中的基本组成单元,但是实践表明,操作系统提供的用于构建分布式系统的进程在粒度上还是太大了。

而就粒度而言,将每个进程细分为若干控制线程的形式则更加合适,可以使构建分布式应用程序变得更加方便,获得更好的性能。

进程间通信机制IPC

IPC需要内核干预。

从用户模式切换到内核模式S1,在内核中进行上下文切换S2,再从内核模式切换到用户模式S3。

完成进程之间的切换。

多线程客户

隐藏通信时间延迟的常规方法是启动通信后立即进行其他工作。

例子:

Web浏览器。

Web浏览器一般在开始获取HTML页面后随即就显示它。

为了尽量隐藏通信时间延迟,某些浏览器在接收数据的过程中就开始显示这些数据。

首先将文本显示出来,并提供页面滚动之类的功能,同时获取组成页面的其他文件,比如图像等。

用户不必等待浏览器取得整个页面的所有组件就能够查看页面。

从效果来看,web浏览器好像在同时进行多任务一样。

只要取得了主HTML文件,就可以激活多个独立的线程,它们分别负责取得页面的各个部分。

每个线程都与服务器建立一个独立连接以获取数据。

多线程服务器

虚拟化

 

计算机界面

1)由机器指令组成,可由任何程序激起的硬件软件界面。

2)由机器指令组成,只有特权程序(如OS)才可激活的。

3)由操作系统提供的系统调用组成的界面。

4)由库调用组成的界面,通常形成了所谓的应用程序编程结构(API)。

很多情况下前述的系统调用由API隐藏。

虚拟化的实质是模仿这些界面的行为。

虚拟化可采用两种方式。

第一种:

可以构建一个运行时系统,实质上提供一套抽象指令集来执行程序。

指令可以被翻译执行,也可以仿真执行,就像在Unix平台上运行Windows应用程序。

第二种:

提供一种系统。

把它做成一层完全屏蔽硬件但是提供一个同样指令集(或其他硬件)的界面。

这个界面可以同时提供给不同的程序。

可以有多个不同的操作系统独立并发地运行在同一平台。

客户端软件与分布透明性

客户端通过将调用请求转发给每一个服务器的副本来达到复制透明性。

服务器组织结构:

1)迭代服务器:

自己处理请求,并且在必要的情况下将响应返回给发出请求的客户。

2)并发服务器:

并不自己处理请求,而是将请求传递给某个独立线程或者其他进程来处理,自身立即返回并等待下一个请求。

或者每收到一个输入请求都派生出一个新进程来对其进行处理。

多线程服务器就是个特例。

3)状态无关服务器:

不保存其客户的状态信息,而且也不将自身的状态变化告知任何客户。

如Web服务器,仅仅对输入的HTTP请求做出响应,在处理请求的时候,彻底忽略用户的存在。

软状态:

有一种特别的状态无关设计是服务器维护软状态的信息。

服务器仅维护一小段时间的客户状态。

时间到期后就删除相关客户信息,到无状态行为。

4)状态相关服务器:

一直保存客户端的信息直到显式地删除。

如文件服务器,它让客户保留文本的本地副本,甚至进行更新操作。

端口:

客户总是向服务器所在机器上的端点发送请求,这种端点就是端口。

a)有许多服务不需要预先分配好端点。

比如,一个时间服务器可能会使用由本地操作系统动态分配给它的端点。

在这种情况下,客户首先必须查询到该端点号。

一种解办法在运行服务器的每一台机器上都运行一个特殊的守护程序,该守护程序负责跟踪位于同一台机器上的服务器实现的每一项服务所使用的当前端点。

守护程序还监听一个已知的端口。

客户通过这个端口与该守护程序进行联系,请求得到指定服务器的端点号,随后再与该服务器进行联系。

b)与其对这么多被动进程进行跟踪,不如由一个超级服务器来负责监听所有与这些服务关联的端点。

当收到请求时候,派生出一个进程以对该请求进行进一步处理,这个派生出的进程在处理完毕后自动退出运行。

中断服务器工作:

处理通信中断的更好方法是在开发客户程序和服务器程序的时候考虑到对带外数据发送的支持。

带外数据是服务器在处理客户发送的其他所有数据之前必须处理的数据。

一种办法是让客户将带外数据发送到一个另外的控制端点,服务器则监听该端点,同时也监听常规数据传输的端点。

另一种方法是通过发送原始请求所使用的连接来发送带外数据。

 

TCP转发原理:

当交换机接收到一个TCP连接请求时,找到处理这个请求的最佳服务器,把请求包转发给这个服务器。

服务器反过来发送一个响应给客户,同时把交换机的IP地址也放入数据段。

 

 

第四章通信

OSI模型是用来支持开放式系统间通信的。

开放式系统通过一系列标准规则来与其他开放式系统通信的系统。

 

每一层都规定了与上一层的接口。

接口中包括一组操作,定义向用户提供的服务。

 

面向连接的协议:

消息发送方和接收方必须首先显式地确立连接,可能还需要就采用的协议进行协商,然后才能进行数据交换。

在通信完毕后,必须终止连接。

如电话系统。

无连接的协议:

交换数据之前不需要有建立连接的过程,消息发送方只需要在准备好的时候传送第一个消息即可。

如将信件投入邮箱。

如果机器1上的进程A想传消息给机器2上的进程B。

那么消息先到机器1上的应用层,依次向下传递,每传递一层,就在消息前增加一个报头。

第n层添加的报头中的信息是供第n层协议使用的。

某些层还要增加报尾。

 

物理层只负责传输位,而数据链路层是负责检查传输是否出错。

数据链路层在每一帧的开头和结尾分别放置特殊的位来对头尾进行标记,并用某种方法将帧中的所有字节相加,计算出校验和。

再将校验和放入帧中。

当接收到消息后,接收方重新计算校验和,跟原有进行比较。

目前应用最广泛的网络协议就是无连接的网际协议(IP)。

 

远程过程调用包括以下步骤:

1)客户过程以正常的方式调用客户存根

2)客户存根生成一个消息,然后调用本地操作系统

3)客户端操作系统将消息发送给远程操作系

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1