为什么有了HTTP,还需要RPC协议?
2023-08-21 20:21:38 来源:电子发烧友网
为什么有了HTTP,还需要RPC协议呢?在进行说明之前,首先我们需要了解什么是HTTP协议,什么是RPC协议。
什么是HTTP协议?
HTTP是一种广泛使用的网络传输协议,它定义了客户端(如浏览器, 手机用户APP等)和服务器(网站等提供服务的,服务端)之间的通信格式和通信方法,它是基于请求—响应这样一种通信模型,即服务端根据请求返回一个响应,在请求和响应中,都包含了两端(客户端和服务端)之间进行交互的一些信息,如方法、头部、正文等。
【资料图】
图1 HTTP交互基本流程图
HTTP具有很多优点,它支持多种数据格式和编码方式,可以实现跨平台和跨语言的通信,通信简单、灵活、易于扩展。但是同时它也有一些缺点:
(1)HTTP是无状态的,每次请求都需要重新建立连接,这会增加网络开销和延迟。
(2)数据传输是基于文本的,这会导致数据量较大,解析效率较低。
(3)安全性较差,因此容易受到中间人攻击、重放攻击等。
(4)语义较弱,HTTP只能表达基本的增删改查操作,不能满足复杂的业务逻辑。
什么是RPC协议?
RPC即RemoteProcedure Call(远程程序调用),它是一种远程过程调用协议,它允许客户端像调用本地函数一样调用远程服务器上的函数。
图2 RPC协议交互流程
RPC的优点是高效、强大、易于使用,但是它也有一些缺点,比如:
(1)与HTTP相反,RPC是有状态的,需要维护客户端和服务器之间的连接状态,这会增加系统的复杂度和资源消耗。
(2)RPC的数据传输是基于二进制的,这会导致数据不易阅读和调试。
(3)RPC的兼容性较差,不同的RPC框架之间可能存在协议和接口的不一致性。
(4)RPC的可扩展性较差,难以支持动态服务发现和负载均衡等功能。
二者的选择使用
基于TCP建立的HTTP和各类RPC协议,只是定义了不同消息格式的应用层协议。HTTP协议是超文本传输协议,而RPC本身并不是一个具体的协议,而是一种调用方式。
虽然HTTP现在叫超文本协议,支持音频视频,但HTTP设计初主要是用做展示网页文本,所以它传输的内容以字符串为主,内容存在非常多的冗余。而RPC协议定制化程度更高,可以采用体积更小的protobuf或其他序列化协议去保存结构体数据,同时也不需要像HTTP那样考虑各种浏览器行为,性能更好。因此在公司内部微服务中抛弃HTTP,转而使用RPC协议。虽然后来HTTP得到了很大的改进,但由于很多公司内部已经用了多年的RPC协议,基于历史原因,一般没有选择更换成HTTP。
在实际运用中,不论是HTTP还是RPC,它们都有各自的优缺点,没有绝对的好坏之分。针对不同的使用场景选择合适的协议。比如:
(1)在微服务架构中,服务之间需要频繁地进行内部调用,RPC可以提供更高的性能和可靠性。
(2)在分布式计算中,需要将大量的计算任务分发到不同的节点上执行,RPC可以实现更灵活的负载均衡和容错机制。
(3)而在实时通信中,需要实现低延迟和高并发的数据交换,RPC可以支持多种传输协议和通信模式。
而假如你需要实现跨平台和跨语言的通信,或者需要支持多种数据格式和编码方式,或者需要利用现有的HTTP基础设施和工具,可以选择HTTP协议。
当然这样不是绝对固定的组合,也可以结合两个协议来实现更好的网络,例如:
(1)我们可以在HTTP协议上封装RPC协议,使得RPC请求可以通过HTTP代理或者网关来转发和处理。
(2)可以在RPC协议上使用HTTP协议作为传输层,使得RPC请求可以利用HTTP的特性来实现缓存、压缩、加密等功能。
所以总的来说,RPC的出现是为了应对HTTP协议满足不了的对性能有所要求的网络场景。它们并不是互斥的,而是可以根据不同的场景和需求进行选择和组合的。
关键词:
推荐内容
- 为什么有了HTTP,还需要RPC协议?
- 哈萨克斯坦各地区将就核计划举行公开听证会
- 【涨知识】企业注销时,账面仍有未分配利润, 需
- 歌唱家戴玉强受聘担任郑州大学河南音乐学院院长
- 一夜捕获1200余斤野鱼,四人受审
- 共建美好家园 感谢有你|3家企业助力,青山10块
- 彻夜谈心扑灭跨省婚外情“战火”!金牌调解员黄汉
- 男子顺走醉汉手机,江汉警方1天将其抓获
- 女子被控虐童后藏身假墙装死,还曾逼孩子们观看活
- 二手房公积金贷款提交材料
- 阿莱格里:小基耶萨能打进14至16球 尤文本赛季必
- 惠州各大高铁站点位置在哪里?
- 匿名快递拆出“教育部文件” 上海阿姨被精准诈
- 国家广电总局等部门专项整治力克电视“套娃”收费
- 论坛丨我国煤炭煤电产业高质量发展的战略思考
- 2023荆门养老保险计算方法、计算公式是怎样的(荆
- 四川金阳县突发山洪 一工棚内有人员被困 已有3
- 贵阳租房补贴每年几月开始申请?
- 老白干酒融资净买入12天,投资者看好未来发展前景
- 查获毒品2.3公斤,网红警犬“伏灵”再立新功!
- 沈阳医疗事业编最新消息!笔试内容已定公告最迟下
- 笔记本电脑电池如何保养 笔记本电脑电池保养方法
- 降息!央行宣布:一年期下调10BP!五年期以上“意
- 中央统战部有关部门负责人调研深圳龙岗基层统战工
- 珠海冠宇:上半年净利1.4亿元 同比增长125.06%
- 长华化学:拟60亿投建“二氧化碳聚醚及高性能多元
- 岱勒新材:签署股权收购意向性协议
- 今天国际:上半年净利同比增长101.49% 拟10派3元
- 上证指数连20%都没跌到都算不上熊市 谈“政策底
- 明天“牛郎”“织女”相会,广东可观测
- 活化利用不能走形变味
- 煤炭业向“绿”而行
- 再生稻丰收
- 重庆20个区县出现暴雨 最大降雨量在南川
- 自相矛盾的文言文和翻译(自相矛盾的寓言故事)
- T1vsGEN数据雷达图:Faker的输出占比全场最高 分
- 钴蓝怎么调(钴蓝)
- 化学工程博士创业,墨格微流获北极光创投种子轮融
- 一张券,如何“点绿”成金?
- 仙琚制药:公司通过美国FDA现场检查