分布式系统-CH2:系统模型

2.1 简介

三种重要且互补的解释方法,用于描述和讨论分布式系统的设计:

物理模型:考虑组成系统的计算机和设备的类型以及他们的互联,不涉及特定的技术细节。

体系结构模型:从系统的计算元素执行的计算和通信任务方面来描述系统。这里最常使用的是CS模型和对等模型。

基础模型:采用抽象的观点描述大多分布式系统面临的单个问题的解决方案。包括交互模型、故障模型和安全模型。


2.2 物理模型



2.3 体系结构模型

2.3.1 体系结构的元素

一个系统的体系结构是用独立指定的组件以及这些组件之间的关系来表示的结构。


对象:在分布式面向对象的方法中,一个计算由若干个交互的对象组成,这些对象代表分解给定问题领域的自然单元。对象通过接口被访问,用一个相关的接口定义语言(IDL)提供定义在一个对象上的方法的规约。

组件:类似于对象,区别在于组件不仅指定其接口,而且给出关于其他组件/接口的假设,其他组件/接口是组件完成它的功能必须有的。

Web服务:与组件和对象紧密相关,也是采用基于行为封装和通过接口访问的方法。但是时通过利用Web标准表示和发现服务的。另一个重要的区别来源于技术使用的风格,对象和组件经常在一个组织内部使用,用于开发紧耦合的应用,但Web服务本身通常被看做是完整的服务。


远程过程调用(Remote Prucedure Call, RPC), 远程计算机上进程中的过程能够被调用,好像是本地地址空间的过程一样。

远程方法调用(Remote Method Invocation, RMI)非常类似于远程过程调用,但它应用于分布式对象的环境。


间接通信

组通讯:涉将消息传递给若干接收者,因此是支持一对多通信的多方通信范型。

分布式共享内存:Distributed Share Memory DSM. 提供了一种抽象,用于支持在不共享物理内存的进程之间共享数据。


角色和责任:

CS模型:进程扮演服务器和客户的角色。

对等体系结构:涉及意向任务或活动的所有进程扮演相同的角色。


放置:将对象或服务映射到底层的物理分布式基础设施。

将服务映射到多个服务器上

缓存

移动代码:在本地运行下载的代码,可以提供良好的交互相应,不受网络通信相关的延迟或带宽变化的影响。

移动代理:是一个运行的程序,从一台计算机移动到网络上的另一台计算机,代表某人完成任务并返回结果。


2.3.2 体系结构模式

分层体系结构(layering arch)

一个复杂的系统被分为若干层,每层利用下层提供的服务。

层次化体系结构(Tiered arch)

层次化与分层结构是互补的,它的功能是组织给定层功能的技术

瘦客户:指的是一个软件层,在执行一个应用程序或访问远程计算机的服务时,由该软件层提供一个基于窗口的本地用户界面。

代理:一个代理在本地地址空间被创建,用于代表远程对象。


2.3.3 相关的中间件解决方案


2.4 基础模型

通常,为了理解和推理系统行为的某些方面,一个基础模型应该仅包含我们要考虑的实质性成分。这样一个模型的目的是:

显示的表示有关我们正在建模的系统的假设。

给定这些假设,就什么事可能的、什么事不可能的给出结论。结论以通用算法或要确保的特性的形式给出,特性成立的保证依赖与逻辑分析和数学证明。

我们希望在我们的基本模型中提取的分布式系统能解决以下问题:

交互:计算在进程中发生,进程通过传递消息交互,并引发进城之间的通信和协调。

故障:只要分布式系统运行的任何一台计算机出现了故障,或链接他们的网络出现了故障,分布式系统的正确操作就会受到威胁。

安全:分布式系统的模块特性和开放性将其暴露在外部代理和内部代理的攻击下。


2.4.1 交互模型

分布式算法定义了组成系统的每个进程所采取的步骤,包括他们之间消息的传递。

进程交互完成了分布式系统中所有的活动。每个进程有它自己的状态,该状态由集成能访问和更新的数据集组成,包括程序中的变量。属于每个集成的状态是完全私有的,也就是说不能别其他进程访问或更新。

分布式系统中影响进程交互的两个重要因素:

通信性能经常是一个限制特性

不可能维护一个全局时钟概念

通信通道的性能:

延迟、带宽和抖动

计算机时钟和时序时间

时钟漂移率指的是计算机时钟偏离绝对参考时钟的比率。

交互模型的两个变体:

同步分布式系统:

进程执行每一步的时间有一个上限和下限

通过通道传递的每一个消息在一个已知的范围内

每一个进程有一个本地时钟,且与实际时间的便宜率在一个已知的范围

异步分布式系统:对下列因素没有时间限制

进程执行速度

消息传递延迟

时钟漂移率

事件排序


2.4.2 故障模型

故障模型定义了故障可能发生的方式,以便理解故障所产生的影响

遗漏故障:指的是进程或通信通道不能完成它应该做的动作

进程遗漏故障:主要是崩溃。同步系统中依赖于超时,异步系统中依赖于检测是否有响应。如果其他进程能确切检测到进程已经崩溃,那么这个进程崩溃成为故障-停止

通信遗漏故障:主要原因是接收端或中间网管缓冲区不足,或因为网络传输故障。

随机故障:用于描述可能出现的最坏的故障,此时可能发生任何类型的故障。

时序故障

故障屏蔽:分布式系统中的每个组件通常是基于其他一组组件构造的,利用存在故障的组件构造可靠的服务是可能的。

2.4.3 安全模型

通过保证进程和用于进程交互的通道的安全以及保护所封装的对象免遭未收钱访问可实现分布式系统的安全。

保护对象

保护进程和他们的交互

解除安全威胁

密码学和共享秘密

安全通道

你可能感兴趣的:(分布式系统-CH2:系统模型)