分布式系统与云计算之分布式计算范式

一、系统模型

 

物理模型

体系结构模型:从系统的计算元素执行的计算和通信任务方面来描述系统;

基础模型:采用抽象的观点描述大多数分布式系统面临的单个问题的方案。

 

体系结构模型

1、通信

 

通信实体:线程、进程、结点

对象、组件、Web服务

通信范型:

  • 进程间通信:相对底层的支持
    • 套接字、多播 、消息传递
  • 远程调用:最常见的通信范型,双向交换
    • 请求—应答协议:一对消息的交换
    • 远程过程调用(Remote Procedure Call, RPC):远程计算机上进程中的过程能被调用
    • 远程方法调用(Remote Method Invocation, RMI): 一个发起调用的对象能够调用一个远程对象中的方法。

-----------------------------------------------------------------

  • 进程间通信及远程调用的限制:
    • 发送者需要知道接收者(空间耦合)
    • 发送者和接收者同时存在 (时间耦合)
  • 间接通信(空间、时间解耦合)
    • 组通信:一对多通信范型
    • 发布—订阅系统:提供一个中间服务,有效确保由生产者生成的消息被路由到需要这个消息的 消费者
    • 消息队列:提供点到点服务
    • 元组空间:进程可把任意结构化数据项存放在一个持久元组空间,其他进程可读或删除
    • 分布式共享内存:用于支持在不共享物理内存的进程间共享数据

2、软件体系结构

 

中间件要解决的问题:硬件、通信协议、操作系统、编程语言

 

3、分布式结构设计的需求

 略

 

4、体系结构模式

·centralized architectures

·服务器模型

·层次化体系结构

·P2P

·服务器组

·代理服务器和缓存cache

·移动代码

 

·移动代理

·网络计算机

·瘦客户

·移动设备和自发互操作

·接口与对象

 

二、通信

1、socket

重点Java的socket 略

 

2、事件同步

IPC 阻塞机制

超时和线程

死锁和超时

 

3、数据表示

 

4、数据编码

 

5、外部数据表示和编码

  • CORBA的公共数据表示
  • Java的对象序列化
  • XML(可扩展标记语言)

 

6、组播通信 multicast

·IP multicast

 

7、覆盖网络??

 

 

三、范型

1、客户服务器范型

 

2、peer-to-peer范型

·集中目录式结构

·纯P2P

·混合式

·结构化

 

3、消息系统模式

点对点消息模型和发布/订阅消息模型

 

4、远程调用范型

请求---应答协议,描述了一个基于消息传递的范型,支持在客户/服务器计算中遇到的消息双向传输

远程过程调用(RPC),将传统的过程调用模型扩展到分布式系统中。允许客户程序透明地调用在服务程序中的过程。

远程方法调用(RMI),基于对象的编程模型扩展,允许不用进程运行的对象通过其彼此通信。是对本地方法调用的扩展。

 

5、请求应答协议

 

四、远程过程调用

1. RPC的编程风格---接口编程

 

2. 和RPC关联的调用语义

 

3. 透明性的关键问题和它如何与远程过程调用相关联

 

 

五、远程方法调用

 

六、对象请求代理模式

对象请求代理模式如图2.9所示,进程向对象请求代理发出请求,对象请求代理将请求转发能提供预期服务的适当对象。该模式与远程方法调用(RMI)非常相似。两者的主要区别是:对象请求代理充当中间件角色,使作为对象请求者的应用程序可访问多个远程或本地对象。对象代理还可以作为异构对象之间的协调者。

 

七、间接通信

间接通信避免了直接耦合,使用中介空间解耦、时间解耦。

 

异步通信,发送者发送一个消息,然后继续工作(不阻塞)

 

1、组通信

Jgroup

 

2、发布-订阅系统 publish-subscribe systems

订阅和发布事件进行匹配

 

集中式与分布式

集中式代理被代理网络所取代

 

3、消息队列

JMS

 

4、分布式共享内存DSM

5、元组空间通信

 

 

 

八、故障模型

 

遗漏故障

随机故障

时序故障

 

故障屏蔽

 

 

猜你喜欢

转载自blog.csdn.net/yuandong_D/article/details/83759531