智能制造全生命周期生态服务平台

首页> 全部> 资讯详情

什么是RPC 为什么需要RPC

来源 : 电子发烧友网 2019-04-16 19:09    阅读量:10   

什么是RPC   为什么需要RPC0

什么是RPC 为什么需要RPC

什么是RPC

RPC 全称 Remote Procedure Call——远程过程调用。在学校学编程,我们写一个函数都是在本地调用就行了。但是在互联网公司,服务都是部署在不同服务器上的分布式系统,如何调用呢?

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、首先要明确一点:RPC可以用HTTP协议实现,并且用HTTP是建立在 TCP 之上最广泛使用的 RPC,但是互联网公司往往用自己的私有协议,比如鹅厂的JCE协议,私有协议不具备通用性为什么还要用呢?因为相比于HTTP协议,RPC采用二进制字节码传输,更加高效也更加安全。

2、现在业界提倡"微服务"的概念,而服务之间通信目前有两种方式,RPC就是其中一种。RPC可以保证不同服务之间的互相调用。即使是跨语言跨平台也不是问题,让构建分布式系统更加容易。

3、RPC框架都会有服务降级、流量控制的功能,保证服务的高可用。

声明: 本网站原创内容,如需转载,请注明出处;本网站转载内容(文章、图片、视频等资料)的版权归原网站所有。如我们转载或使用了您的文章或图片等资料的,未能及时和您沟通确认的,请第一时间通知我们,以便我们第一时间采取相应措施,避免给双方造成不必要的经济损失或其他侵权责任。如您未通知我们,我们有权利免于承担任何责任。 我们的联系邮箱:news@cecb2b.com。

好文章,需要你的鼓励!
分享到:
参与评论
剩下299
热门搜索
相关问答
中发智造自媒体
微信公众号
头条公众号
微博公众号
最新最热 行业资讯
订阅栏目 效率阅读