时间:2021-07-01 10:21:17 帮助过:13人阅读
最近看到jsonrpc,稍微了解了下rpc,但网上看到的资料基本上都是重复的,而且实在不理解。我想问这样几个问题:
rpc与http请求相比,有何区别,有何优点,效率上如何
app(ios、andriod)是否支持rpc,门槛高不高
rpc与框架或者原有项目整合有一定难度,是否值得
rpc全称都知道吧,Remote Procedure Call
远程过程调用,拗口的讲法。
简单的理解如下:
你这台计算机(客户端)想调用服务器上的程序中的某一个函数达到你的目的。
rpc
我认为是一种协议应用的说法,而http
是协议。
应用是基于协议之上的,所以有一种rpc
的应用方式叫做
基于http的rpc实现。
那么rpc
和普通的http
请求相比有什么优点?
普通的http请求的数据结构简单,然后是无状态的,不保持长时间的连接,同时因为http
包含了一个header
,会多传输几个字节,造成优化不极致。
如果你的服务不care这些,那么你的rpc
完全可以基于http
去实现,毕竟现有的协议使用起来也简单。
app当然都支持rpc
,因为他们都支持普通的TCP/IP
协议栈。
整合有一定难度只能说是自己对rpc
解决方案的选择问题。
我没有啥推荐,喜欢啥选啥。
硬要推荐,推荐鸟哥的yar