中间件基本概念课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* main(…) . . . 调用A . . . 退出 A(…) . . . 调用B . . . 退出 B(…) . . . . . . . 退出 主程序 过程A代码 过程B代码 机器1 机器2 机器3 RPC调用模型 2.1 续 主程序 子程序 子程序 * 远程过程调用RPC概念 RPC是从一台机器或一个进程调用另一台机器或另一个进程的服务或方法。 远程过程调用是创建分布式应用的一种方法,来源于Unix操作系统的处理思想,被普遍认为是创建分布式应用的有效方法。 从程序员的角度,RPC采用常规的编程模式:程序代码调用远端过程并将结果返回。当使用RPC时,只需编写很少的网络程序代码,绝大部分代码由IDL(Interface Define Language)生成。 2.1 续 * IDL编译器结构 2.1 续 IDL规范 IDL编译器 头文件 客户 存根 头文件 对象 实现 框架 图2-4 IDL编译器结构 * 远程过程调用中间件工作机理 ①用中间件中的IDL对调用顺序加以描述; ②利用IDL编译器对这种定义和描述进行编译,从而生成支持客户机和服务器进行通信的管道; ③在服务器端,被调用的远端过程需单独编写,并被置入服务器端框架,同时要在远程过程调用中间件中进行注册,以备调用。 ④启动本地客户端存根——〉存根捆绑远端过程名和参数——〉利用网络传输到服务器端框架,从而实现数据格式的转换和参数的传递 ⑤采用调用/返回模式具体地完成远端过程调用。 2.1 续 * RPC工作流程 2.1 续 客户运行 客户继续执行 服务调用 过程调用 服务过 程执行 过程返回 请求返回 RPC调用 RPC返回 Network 图2-5 RPC工作流程 RPC一般采用调用/返回模式,多用于应用程序之间的通信,采用同步方式。 RPC程序之间的同步通信一般采用Request-Wait-Reply方式,因此RPC更适应小型简单而不需要采用异步通信方式的应用。 * Client Send(remote call pi(…)) (发送“请求服务”信息) Receive(ans) 接收回复信息 server 接收调用信息; 抽取参数并分析; 调用所指的过程; 执行远程过程 返回执行结果 Send(ans) 发送回复信息 等 待 回 复 请求服务 等待 调用 继续 返回调用结果 RPC的通信模型 2.1 续 * 3 call work return Server Process OP2 Server-stub OP3 RPC Routine receive transmit 4 5 6 7 8 Local return Local call Client Process OP4 Client-stub OP1 wait RPC Routine receive transmit 1 2 9 10 RPC执行过程 2.1 续 * 通信协议 支持两种传输协议:TCP、UDP TCP:连接、可靠、低效。保证要么把调用传递到远程过程且接受应答,要么报告通信无法进行。 UDP:无连接、不可靠、高效。使用UDP的远程过程调用也许会丢失或重复。? 2.1 续 * RPC的语义 Last-of-many:被调用的过程可能执行若干次,但规定其最后一次执行的结果作为返回结果。 At-most-once:若调用者收到了回复消息,则称被调用的过程正确地完成了它的一次(仅仅一次)执行。 At-least-once:远程调用过程至少执行一次,回复消息可能返回一次或多次。 Exactly-once:若服务器正常,则远程过程恰好执行一次,并返回一个调用结果。 2.1 续 * 远程过程调用的特点 ①客户/服务器模式 客户端的应用调用一个位于远端服务器平台的进程或服务,RPC实际上是通过C/S方式实现的。 ②数据封装性 远端过程调用负责捆绑参数,实现不同平台之间参数的传递,发送参数到远端过程。 ③同步性 当客户机发出请求时,服务器进程处于运行状态。 ④复杂性 远程调用的实现环境可能要用系统级的任务来创建,但一旦完成,对程序员就是透明的了。 2.1 续 * 远程过程调用的特点 缺点:⑴需要进行系统级的配置; ⑵RPC 并不支持对象。 CORBA的IIOP MTS的DCOM Java的 sockets——应用级协议的编码交换 EJB?—〉RMI (Java Remote Method Protocol) 优点:方便地实现不同平台之间

文档评论(0)

132****5705 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5104323331000004

1亿VIP精品文档

相关文档