黑马程序员技术交流社区
标题:
【原创】【广州】RPC框架简介
[打印本页]
作者:
yqw_gz_java
时间:
2019-9-9 15:17
标题:
【原创】【广州】RPC框架简介
本帖最后由 yqw_gz_java 于 2019-9-9 15:34 编辑
什么是RPC
RPC:Remote Produre Call-远程过程调用,像调用本地方法一样调用远程方法
RPC原理
RPC采用客户端(服务调用方)/服务端(服务提供方)模式,各自独自运行。客户端需要通过引用需要使用的接口,接口的实现和运行都是在服务端。RPC主要的依赖的技术包括序列化、反序列化和数据传输协议
一些基础概念
RMI(Remote Method Invoke,远程方法调用)代理模式通过代理对象将方法传递给实际对象;
stub(桩)驻留客户端,承担远程对象实现者的角色;
skeleton(骨架)帮助远程对象与stub连接进行通信。
snipaste_20190909_153042.png
(37.88 KB, 下载次数: 9)
下载附件
2019-9-9 15:31 上传
关于时序图的一些解释:
1.客户端(client)通过本地调用的方式调用服务
2.client stub接收到调用方法之后将参数、方法封装成能够网络传输的消息体(序列化)
3.client stub找到服务地址,并将消息发送到服务端
4.server stub接收消息并解码(反序列化)
5.server stub根据解码结果调用本地服务
6.本地服务奖调用结果返回给server stub
7.server stub将返回结果打包成消息(序列化)发送至调用方
8.client stub接收消息并解码(反序列化)
9.客户端得到最终结果
常见RPC框架
常见RPC框架方案有RMI(JDK自带),Hessian,Dubbo,Hprose,Thrift,HTTP等
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2