通俗讲就是远程过程调用
RPC要求在调用方中放置被调用的方法的接口。
调用方只要调用了这些接口,就相当于调用了被调用方的实际方法,十分易用。
于是,调用方可以像调用内部接口一样调用远程的方法,而不用封装参数名和参数值等操作。
主要包含:
- 动态代理,封装调用细节
- 序列化与反序列化,数据传输与接收
- 通信,可以选择七层的http,四层的tcp/udp
- .异常处理等
- 首先,调用方调用的是接口,必须得为接口构造一个假的实现。显然,要使用动态代理。这样,调用方的调用就被动态代理接收到了。
- 第二,动态代理接收到调用后,应该想办法调用远程的实际实现。这包括下面几步:
- 识别具体要调用的远程方法的IP、端口
- 将调用方法的入参进行序列化
- 通过通信将请求发送到远程的方法中
这样,远程的服务就接收到了调用方的请求。它应该:
- 反序列化各个调用参数
- 定位到实际要调用的方法,然后输入参数,执行方法
- 按照调用的路径返回调用的结果
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END