RPC详解

RPC是什么

RPC(Remote Procedure Call)远程过程调用协议,一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。RPC它假定某些协议的存在,例如TPC/UDP等,为通信程序之间携带信息数据。在OSI网络七层模型中,RPC跨越了传输层和应用层,RPC使得开发,包括网络分布式多程序在内的应用程序更加容易。

rpc最原始的过程:

1:客户端处理过程中调用client sub,就像调用本地方法一样,传入参数 2:client sub将参数编组为消息,然后通过系统调用向服务端发送消息 3:客户端本地的操作系统将消息从客户端发送到服务端 4:服务端将接收到的数据包传递给server sub 5:server sub将接收到的数据解组为参数 6:server sub再调用服务端的过程,过程执行的结果以反方向的相同步骤响应给客户端。

我们不用

我们用演进的rpc过程,因为原始的RPC非常非常麻烦,你需要了解cient和server的全部内容,

演进就是把网络部分进行封装,降低了耦合性。

比如创建一个stub类作为代理:

在 server中只需引用stub的方法(这是初步的演进)

非常不完善,下面看进一步完善:

运用代理模式中的动态代理(通过jdk,new一个proxy对象)

但数据还是写死了,请看再进一步演进:

将会用到的方法传输到

服务器端读入stub传来的方法名,参数类型等等。

这样可以调用随意接口,但不能随意调用接口,所以还是不完善,返回值没有处理:

在进一步完善中返回值用object封装。支持任意类型,比较简单,不西索了

请看第六次完善:

可将stub屏蔽, 

client:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值