Dubbo学习-RPC原理

RPC是什么?

英文全称Remote Procedure Call Protocol 翻译过来就是远程过程调用,主要使用在分布式服务场景,比如淘宝,从用户角度来看,就是一个系统,一个整体,其实背后是多个微服务组成,分别部署在不同的服务器上。比如用户服务,商品服务,订单服务,库存服务等等。那么这个多微服务之间,存在依赖是必须的,那怎么进行调用呢?网络通信涉及的点很多,有什么方式可以让程序员只关心业务逻辑,不用操作网络通信细节呢?RPC就是这种方式,做到了网络通信细节对使用者来说是透明不可见的。

下面是RPC通信原理:

computer01上调用computer02上的服务,

1、client通过调用本地方法的形式,调用02的服务,

2、client stub(客户端助手)将调用的方法和参数进行编码和封装成消息体,以使其适合在网络中传输,

3、client stub找到接口的url后,通过网络发送到server服务端。

4、server stub接收到消息后,对消息进行解码

5、server stub根据解码结果调用本地方法得到结果。

6、server stub得到结果后,进行编码封装到网络传输消息体。

7、server stub将结果发送给服务消费端。

8、client stub接受到结果后,解码消息。

9、client stub将解码结果返回给RPC服务调用者client caller。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值