【rpc和restful的区别 rpc与rest的区别】
文章插图
rpc和restful的区别如下:
HTTP是不是RPC完全取决于client的具体形式 。传统的RPC一般是基于二进制协议的,client发个二进制包过来(然后阻塞),server处理完回复一个包,client收到后醒来 。在二进制协议中一般可以在包中加个id来指明回复和请求的对应关系,这样我们就能在一个tcp连接上同时发起多个请求和回复 。HTTP这种文本协议也可以加id,但由于一些原因(Content-Length可能缺失),即使加了id也做不到一个连接上同时传多个HTTP消息,所以HTTP协议一般会和server保持多个连接,每个连接上同时最多只有一个HTTP消息 。此种”连接池“方式即为HTTP中的”Keep-alive“ 。所以即使在HTTP上(或任何协议上),仍然可以做到高效地发送一个请求过去,阻塞,等待server处理完后,再醒来 。这就是RPC 。面向终端用户的尽量用Restful HTTP 。原因是认知广,直观,编程语言都支持HTTP(包括shell,这样调试起来方便),性能不是那么重要,方便用户share链接 。而面向内部系统的话如果机器不多也可以考虑用Restful HTTP,如果机器很多还是尽量用二进制的RPC吧,性能差距还是很大的 。
- macbook和air的选哪个 macbook和air的区别
- lomo卡和小卡的区别 怎么区分小卡和lomo卡
- aj1芝加哥2015为什么这么贵 aj1芝加哥2013和2015哪个好
- ipad怎么和电脑同屏 如何让ipad和电脑同屏
- iphone11有人像模式吗 为什么苹果11的人像模式和照相一样的
- 兰州调整2022年住房公积金缴存基数和缴存比例通知 兰州市2021年公共租赁住房
- qc2.0和qc3.0的区别 qc3.0与qc4.0的区别
- qc35一代和二代买哪个 qc30和qc35二代哪个好
- 绷带和纱布的区别 纱布绷带和纱布的区别
- 理想教学目标应该是什么和什么的统一体 理想的教学是什么样的