文章插图
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吧 , 性能差距还是很大的 。
【rpc和restful的区别 rpc和restful的区别面试】
- 狮子转运珠的寓意和象征 狮子转运珠有什么寓意
- 奇异果可以和牛奶一起榨汁吗 奇异果能和牛奶一起榨汁吗
- 油麦菜和莴笋的区别是什么 油麦菜和莴笋的区别是啥
- 淮河起源地和终点分别是哪里 淮河起源于哪里
- 草果和罂粟的区别是什么 草果和罂粟有什么区别
- 木棉被和棉花被的区别是什么 木棉被和棉花被的区别
- 大球盖菇的保存和处理方法 大球盖菇大概可以保存多久
- 凉皮放碱和盐的作用 凉皮为什么要放碱
- iphonese与6s的对比 iphonese和6s对比
- 海关系统和税务系统联网吗 税务局与海关