1、rpc定义:程序员
rpc(远程过程调用),它是一种经过网络从远程计算机获取服务,就像本地调用服务,不须要程序员了解底层的网络技术协议。数组
好比两台服务器A和B,A须要调用B的服务,可是两者不在同一内存空间,因此没法直接调用。须要规范调用参数和数据。服务器
经过rpc框架,能够避免冗余的网络通讯代码,就像调用本地服务同样,让使用者对网络通讯细节透明。网络
例如:并发
@AutoWired框架
private HelloService helloService;3d
helloService.hello();server
2、rpc调用过程blog
1.消费者以本地调用方式调用远程服务。内存
2.client stub 将调用方法、参数组装为消息体传输。
3.client stub 找到服务方,并发送消息。
4.server stub 收到消息,并解码。
5.server stub 利用解码结果调用本地服务。
6.server stub 把返回结果打包发动给消费者。
7.client stub接收到消息,并进行解码。
8.消费者得到调用结果。
rpc的目标是把步骤2-7封装起来,对用户透明。