中间件——复习要点
第1部分 绪论
1.开发和部署开放系统(分布式系统)面临的挑战有哪些?具体指的是什么?
分布:任务已不只是在单机上运行,而是由网络中多台计算机上的相关应用共同协作完成;
异构:计算机硬件、操作系统、网络协议、数据库系统以及开发工具种类不同;
动态协作:参与协作的应用允许位置透明性、迁移透明性、负载平衡性等需求。
第2部分 中间件概念
(1)中间件的基本概念是什么?
中间件(Middleware)是一种软件,处于系统软件(操作系统和网络软件)与应用软件之间,它能使应用软件之间进行跨网络的协同工作(也就是互操作),这时允许各应用软件之下所涉及的“系统结构、操作系统、通信协议、数据库和其它应用服务”各不相同。
(2)常见五种基本类型有哪些?(3)解释每种基本类型是什么,有什么作用?
消息中间件:一类支持在应用之间发送和接收消息的基础设施。利用高效可靠的消息机制来实现不同应用间大量的数据交换。消息中间件的非直接连接,支持多种通信协议,达到多个系统之间的数据的共享和同步,最常用的一类中间件。
分布对象中间件:分布式计算技术和面向对象技术发展的结合,简称对象中间件。分布对象模型是面向对象模型在分布异构环境下的自然拓广;分布式对象中间件是为了解决分布计算和软件复用过程中存在的异构问题二提出的,所以可以解决异步问题。
远程过程调用中间件:使得应用程序可调用另一台计算机上的过程服务。可用于应用程序之间同步或异步的数据传输,本地计算机的应用程序可以通过远程过程调用中间件调用另外计算机上的服务程序。
数据访问中间件:连接应用程序和数据库的软件,允许通过单一的、定义良好的接口访问网络中来自不同厂商的数据库产品,是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件;是应用最广泛,技术最成熟的一种
事务处理中间件:支持分布式事务,保证一系列在分布式数据库上的操作满足事务特性。提供联机事务处理所需要的通信、并发访问控制、事务控制、资源管理、安全管理、负载平衡、故障恢复。
第3部分 RPC
(1)画出RPC服务注册架构和服务调用(核心)架构;
(2)描述服务注册和发现基本流程
- 注册服务,由服务提供者在服务注册/发现中心进行服务注册;
- 查找服务,由服务消费者在服务注册/发现中心查找所需的服务;
- 通知,由服务注册/发现中心对服务消费者的查找服务进行通知,即是否查找到了相关的服务;
- 调用服务,由服务消费者通过调用架构来对服务进行调用。
(3)解释存根和框架是什么,有什么作用,描述他们基本工作流程;
客户端存根:
远程应用服务对象的本地代理,是远程服务的一个虚实现,具有和远程服务一样的调用接口。可将客户端请求进行打包后转发给远程服务对象。
服务端存根:
与客户端存根相对应(对等层),是远程应用服务对象的远程代理,也是远程服务的一个虚实现,接收客户端存根发送过来的参数,向上调用实际服务,把结果返回给客户端存根。
框架:(软件)框架是项目开发过程中提取特定领域软件的共性部分形成的体系结构,是一个可供二次开发的程序实体,更偏重于技术,比较具体。
存根工作流程:
客户端存根
1、初始化并与远程对象所在的虚拟机连接
2 、调用远程引用层服务,将参数进行打包(序列化、协议编码),
传递到远程虚拟机
3 、等待返回结果
4 、解包返回结果(协议解码、反序列化)得到返回值和异常
5 、将返回值返回给调用者
服务端存根
1、解包(协议解码、反序列化)客户端输入的远程方法参数
2、调用实际的远程对象方法
3、调用远程引用层服务,将结果打包(序列化、协议编码) ,返回
给调用者
(4)描述RPC在一次服务调用中的基本过程;