什么是RPC 什么是XML-RPC

发布时间 2024-01-12 16:17:35作者: 爱做梦的咸鱼

RPC

什么是RPC

RPC 全称 Remote Procedure Call,远程过程调用。
RPC 是指计算机 A 上的进程,调用另外一台计算机 B 上的进程,其中 A 上的调用进程被挂起,而 B 上的被调用进程开始执行,当值返回给 A 时,A 进程继续执行。调用方可以通过使用参数将信息传送给被调用方,而后可以通过传回的结果得到信息。而这一过程,对于开发人员来说是透明的。

RPC调用流程


1、客户端client发起服务调用请求。
2、client stub 可以理解成一个代理,会将调用方法、参数按照一定格式进行封装,通过服务提供的地址,发起网络请求。
3、消息通过网络传输到服务端。
4、server stub接受来自socket的消息。
5、server stub将消息进行解包、告诉服务端调用的哪个服务,参数是什么。
6、结果返回给server stub。
7、sever stub把结果进行打包交给socket。
8、socket通过网络传输消息。
9、client slub 从socket拿到消息。
10、client stub解包消息将结果返回给client。一个RPC框架就是把步骤2到9都封装起来。

RPC调用分类

1.同步调用
客户端等待服务端调用执行完成后 返回结果。
2.异步调用
客户端调用后不用等待服务端返回结果,但依然可以通过回调通知等方式获取返回结果。
若客户端不关心调用返回结果,则变成单向异步调用,单向调用不用返回结果。

参考:https://baijiahao.baidu.com/s?id=1778537782337881723&wfr=spider&for=pc