rpc和restful的区别 简述restful,rpc,graphql的区别

发布时间:
浏览次数: 675

好酷屋教程网小编为您收集和整理了rpc和restful的区别 简述restful,rpc,graphql的区别的相关教程:rpc和restful的区别如下:    HTTP是不是RPC完全取决于client的具体形式。传统的RPC一般是基于二进制协议的,client发个二进制包过来(然

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吧,性能差距还是很大的。

  

  

以上就是好酷屋教程网小编为您收集和整理的区别,标签,简介,restful相关内容,如果对您有帮助,请帮忙分享这篇文章^_^

本文来源: https://www.haoku5.com/shenghuo/643cf57a897640e45a06f9f3.html

相关推荐

    分享到: