一、系统模型
物理模型
体系结构模型:从系统的计算元素执行的计算和通信任务方面来描述系统;
基础模型:采用抽象的观点描述大多数分布式系统面临的单个问题的方案。
体系结构模型
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、元组空间通信
八、故障模型
遗漏故障
随机故障
时序故障
故障屏蔽
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8577 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!