扫码关注官方订阅号
最近看到jsonrpc,稍微了解了下rpc,但网上看到的资料基本上都是重复的,而且实在不理解。我想问这样几个问题:rpc与http请求相比,有何区别,有何优点,效率上如何app(ios、andriod)是否支持rpc,门槛高不高rpc与框架或者原有项目整合有一定难度,是否值得
走同样的路,发现不同的人生
rpc全称都知道吧,Remote Procedure Call远程过程调用,拗口的讲法。简单的理解如下:
Remote Procedure Call
你这台计算机(客户端)想调用服务器上的程序中的某一个函数达到你的目的。
rpc我认为是一种协议应用的说法,而http是协议。应用是基于协议之上的,所以有一种rpc的应用方式叫做
rpc
http
基于http的rpc实现。
那么rpc和普通的http请求相比有什么优点?普通的http请求的数据结构简单,然后是无状态的,不保持长时间的连接,同时因为http包含了一个header,会多传输几个字节,造成优化不极致。如果你的服务不care这些,那么你的rpc完全可以基于http去实现,毕竟现有的协议使用起来也简单。
header
app当然都支持rpc,因为他们都支持普通的TCP/IP协议栈。整合有一定难度只能说是自己对rpc解决方案的选择问题。我没有啥推荐,喜欢啥选啥。硬要推荐,推荐鸟哥的yar
TCP/IP
yar
RPC 只是一种风格。是否支持 app,还有与框架或原有项目整合的难度要看你选择的 RPC 框架或者 RPC 库是哪个。如果需要简单易用,且能跨语言,跨平台的话,推荐使用 hprose,这个跟任何现有框架结合都很方便,不需要中间语言,不需要代码生成。本地调用可以直接发布为远程服务。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
rpc全称都知道吧,
Remote Procedure Call远程过程调用,拗口的讲法。简单的理解如下:
rpc我认为是一种协议应用的说法,而http是协议。应用是基于协议之上的,所以有一种
rpc的应用方式叫做那么
rpc和普通的http请求相比有什么优点?普通的http请求的数据结构简单,然后是无状态的,不保持长时间的连接,同时因为
http包含了一个header,会多传输几个字节,造成优化不极致。如果你的服务不care这些,那么你的
rpc完全可以基于http去实现,毕竟现有的协议使用起来也简单。app当然都支持
rpc,因为他们都支持普通的TCP/IP协议栈。整合有一定难度只能说是自己对
rpc解决方案的选择问题。我没有啥推荐,喜欢啥选啥。
硬要推荐,推荐鸟哥的
yarRPC 只是一种风格。是否支持 app,还有与框架或原有项目整合的难度要看你选择的 RPC 框架或者 RPC 库是哪个。如果需要简单易用,且能跨语言,跨平台的话,推荐使用 hprose,这个跟任何现有框架结合都很方便,不需要中间语言,不需要代码生成。本地调用可以直接发布为远程服务。