国内服务器
亚洲服务器
欧洲服务器
北美洲服务器
南美洲服务器
大洋洲服务器
非洲服务器

首页>>IDC资讯

RPC协议与HTTP协议的区别

发表时间:2023-02-03 07:55:39

RPC协议与HTTP协议的区别

  甚么叫RPC?为啥要RPC?

RPC是指远程进程调用,也就是说两台服务器A,B,一个利用部署在A服务器上,想要调用B服务器上利用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和转达调用的数据。

RPC如何工作?

首先,要解决通讯的问题,主要是通过在客户端和服务器之间建立TCP连接,远程进程调用的所有交换的数据都在这个连接里传输。连接可以是按需连接,调用结束后就断掉,也能够是长连接,多个远程进程调用同享同一个连接。

第二,要解决寻址的问题,也就是说,A服务器上的利用怎样告知底层的RPC框架,如何连接到B服务器(如主机或IP地址)和特定的端口,方法的名称名称是甚么,这样才能完成调用。比如基于Web服务协议栈的RPC,就要提供一个endpointURI,还是是从UDDI服务上查找。如果是RMI调用的话,还需要一个RMIRegistry来注册服务的地址。

第三,当A服务器上的利用发起远程进程调用时,方法的参数需要通过底层的网络协议如TCP传递到B服务器,由于网络协议是基于二进制的,内存中的参数的值要序列化成二进制的情势,也就是序列化(Serialize)或编组(marshal),通过寻址和传输将序列化的二进制发送给B服务器。

第四,B服务器收到要求后,需要对参数进行反序列化(序列化的逆操作),恢复为内存中的表达方式,然后找到对应的方法(寻址的一部份)进行本地调用,然后得到返回值。

第五,返回值还要发送回服务器A上的利用,也要经过序列化的方式发送,服务器A接到后,再反序列化,恢复为内存中的表达方式,交给A服务器上的利用

RPC协议与HTTP协议的区分

1、RPC是一种API,HTTP是一种无状态的网络协议。RPC可以基于HTTP协议实现,也能够直接在TCP协议上实现。

2、RPC主要是用在大型网站里面,由于大型网站里面系统繁多,业务线复杂,而且效力优势非常重要的一块,这个时候RPC的优势就比较明显了。

HTTP主要是用在中小型企业里面,业务线没那末繁多的情况下。

3、HTTP开发方便简单、直接。开发一个完善的RPC框架难度比较大。

4、HTTP发明的初衷是为了传送超文本的资源,协议设计的比较复杂,参数传递的方式效力也不高。开源的RPC框架针对远程调用协议上的效力会比HTTP快很多。

5、HTTP需要事前通知,修改Nginx/HAProxy配置。RPC能做到自动通知,不影响上游。

6、HTTP大部份是通过Json来实现的,字节大小和序列化耗时都比Thrift要更消耗性能。RPC,可以基于Thrift实现高效的二进制传输。

上一篇 下一篇
最新文章

如何提高云服务器的安全系数

香港独立IP空间有什么优势

香港空间影响百度收录吗

为啥要租用美国VPS

VPS的缺点有哪些

香港vps作用在哪里

VPS的优点有哪些

外贸网站为啥选择美国vps

VPS能建多少个网站

VPS要如何选择位置

相关文章

云计算的特点和优势有哪些

web服务器搭建怎么设置域名

找回被删除文件:服务器救济指南 (如何找回服务器被删除的文件)

西班牙弹性云主机的弹性优势

新加坡服务器:支持5G时期的到来

甚么是ssl?网站建设ssl是哪个环节处理?

jquery中如何定义全局变量

关于韩国云主机的配置诀窍

服务器软件利用中的集群管理和负载调度

香港云服务器哪家好?

X

截屏,微信识别二维码

微信号:muhuanidc

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!