问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php rpc好用吗,有什么优缺点?php rpc框架哪个好?

发布网友 发布时间:2022-04-21 15:57

我来回答

5个回答

热心网友 时间:2022-04-06 02:07

什么是RPC框架? 如果用一句话概括RPC就是:远程调用框架(Remote Procere Call)那什么是远程调用?通常我们调用一个php中的方法,比如这样一个函数方法: localAdd(10, 20),localAdd方法的具体实现要么是用户自己定义的,要么是php库函数中自带的,也就说在localAdd方法的代码实现在本地,它是一个本地调用!远程调用意思就是:被调用方法的具体实现不在程序运行本地,而是在别的某个远程地方。

远程调用原理

比如 A (client) 调用 B (server) 提供的remoteAdd方法:

热心网友 时间:2022-04-06 03:25

rpc的使用只能说因地制宜吧,例如与硬件通讯.至于开发的话,你可以用swoole扩展或者grpc.

热心网友 时间:2022-04-06 04:59

建议使用thrift

Thrift是一种接口描述语言和二进制通讯协议,它被用来定义和创建跨语言的服务。它被当作一个远程过程调用(RPC)框架来使用,是由*为“大规模跨语言服务开发”而开发的。
thrift对php的支持非常好,而且可以用于php本身服务和其他服务之间的通讯
是php搭建微服务系统的最好选择。

热心网友 时间:2022-04-06 06:51

PHPRPC 是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议。
框架么,先列举下: phprpc,yar, thrift, gRPC, swoole, hprose
phprpc 和 yar 是我目前听说和接触最多的了
PHPrpc的特点

轻量级
PHPRPC 与 SOAP 不同,虽然 SOAP 号称是简单对象存取协议。但是实际上它一点都不简单,甚至可以说,它的协议内容是一般人所无法理解的。除了复杂的定义,它还具有复杂且混乱的实现,且不要说在异构系统中部署应用,即使在同一种语言下部署,它也绝对算得上是重量级的。而 PHPRPC 却是轻量级的,它的协议相当简单,从仅靠我一人之力就可以实现出十几种语言的版本这个事实就可以很容易的看出来。它的数据表示也相当高效,不论在处理还是传输上都比 SOAP 要快得多。它在部署和使用时,更加简单,它的 .NET 版本甚至比微软为 .NET 提供的 WebService 都容易使用,你甚至不需要借助 Visual Studio 就可以轻松构建 PHPRPC for .NET 的应用。其它语言版本的部署和使用跟 .NET 版本差不多,甚至更加简单。

安全
在安全方面,PHPRPC 并没有像 SOAP 那样专门制定一个 WS-Security 来解决安全性问题。而是内置了加密传输机制,虽然这个加密机制没有 WS-Security 那么复杂,但绝对是从众多的安全加密机制中精选出来的。它可以保证你的数据在非加密的 HTTP 网络上安全传输。

跨网际
PHPRPC 是工作于 HTTP 协议之上的远程调用协议,因此它具有与 SOAP 同样的好处——它可以自由的在 Internet 上被广泛的部署应用。在这个互联网应用占据主导地位的年代,它比那些基于私有通讯协议的远程调用在应用上更具优势。

跨语言平台环境
PHPRPC 目前支持十几种编程语言,而且这些支持的编程语言都是目前被广泛使用的主流编程语言。这些语言支持不同的平台与环境,因此在跨语言的同时,也实现了跨平台,跨环境。而且随着 PHPRPC 的发展,你将发现 PHPRPC 会支持更多的语言,包括你所见过、使用过,以及从来没有听说过的语言。

跨域
PHPRPC 最大的一个亮点就是它支持在浏览器环境中通过 JavaScript 来调用服务器端的函数与方法,它将你以前用传统的 ajax 方式做不到或者很难做到的事情变得轻而易举!而在这个亮点中更大的亮点是,它还支持在浏览器环境中直接跨域调用。而且在跨域方面,它还针对不同的应用作了不同的实现。这是 SOAP 所做不到的。

复杂对象传输
你可以在各种不同的语言之间通过 PHPRPC 自由的交换数据,不论是基本数据类型,还是复杂对象,它都可以帮你轻松传输。虽然 SOAP 也声称可以在各种语言之间交换复杂数据,可是实际应用却完全不是那么回事,在许多语言中你甚至不得不手工去构造那些晦涩难懂的 XML,来传输所谓的自定义类型,这种意义上的自定义类型传输甚至还不如字符串传输更容易被理解。而在 PHPRPC 中你却完全不需要做这种无意义且损伤脑细胞的事情,你会发现你将可以用前所未有的简单方式在不同的语言之间传输复杂对象,简单到就像在同一个程序中传输它们一样。

引用参数传递
PHPRPC 还支持引用参数传递,你除了可以通过远程函数或方法的返回值得到结果外,你还可以通过参数来返回数据,尽管大多数情况下你用不到这个特性,不过一旦需要,你会发现非常有用。

内容输出重定向
除了通过返回值和参数来得到返回数据以外,你还可以通过输出的方式来返回数据,而且通过该方式返回较大量的数据时,比通过返回值来返回数据还要高效。

分级错误处理
在远程调用时,对于某些语言来说,并不是所有的错误都会影响结果,因为这些错误可能只是警告类信息,在这种情况下,PHPRPC 在返回结果的同时,也会返回警告信息。只有当发生致命错误时,才会只返回错误信息。这种处理方式可以让调用者得到更多想要的信息。

会话支持
对于支持会话的服务器,你可以在你的远程函数或方法中使用会话,这将十分有效的帮助你对状态进行管理。

热心网友 时间:2022-04-06 08:59

什么是rpc框架

先回答第一个问题:什么是RPC框架? 如果用一句话概括RPC就是:远程调用框架(Remote Procere Call)

那什么是远程调用?

通常我们调用一个php中的方法,比如这样一个函数方法: localAdd(10, 20),localAdd方法的具体实现要么是用户自己定义的,要么是php库函数中自带的,也就说在localAdd方法的代码实现在本地,它是一个本地调用!

远程调用意思就是:被调用方法的具体实现不在程序运行本地,而是在别的某个远程地方。

远程调用原理

比如 A (client) 调用 B (server) 提供的remoteAdd方法:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
求这图片原图或者主角 出自哪一边电影或者电视剧 哪位大神知道这张图原版在吗?求原版。。。 在word中加下划线时第一次出现一条下划线第二次怎么就出现两条... 诛仙2资料站里的宠物展示能在npc买到吗 求一些诛仙2中的可以变为人形的宠物名字 诛仙2 神域的神农殿里,这是什么东西 诛仙2宠物元神问题 诛仙2 商城 中 宠物元神 怎么比 宠物 还贵啊?宠物元神是干什么的啊... 电热水器怎么安固定花洒 猛鬼夜惊魂剧情介绍 充电干电池的外皮? java调用底层的几种方法 2017年,Web 后端出现了哪些新的思想和技术 当前主流的RPC框架有哪些 请问路由器会中毒吗 用电脑怎么打平法毫米 404 Not Found 电脑平方米的符号m2怎么打 路由器会中毒吗? 微信朋友不显示地区被删除了 怎样在微信上发朋友圈? “微信删除了对方,但对话框还在,最上面显示:添加... 有没有哪一刻伤心的无以名状? 我曾那么认真想去你的城市 盘点大学生兼职赚钱新职业? 晋中—太原城际铁路的正文 怎么能知道太原市哪天限号? 山西发布暴雪红色预警,当地哪些地区的暴风雪最为严重? 求微信朋友圈的文章——“我的太原那么美” 基金和理财产品的区别是什么 相关专业知识进入区块链行业,需要学习哪些专业知识 学习区块链技术需要会编程吗 大学物理实验霍尔效应报告 高分求Windows home basic激活密匙 字节前端岗位实习生的要求 急求一个WINDOWS VISTA HOME BASIC的产品密匙 Windows Vista Home Basic N?? 你好,不小心删了微信好友,怎么找回 微信好友被删了,自己又不知道他的了。怎么找回 教你如何使用qq微云同步盘的方法 如何使用qq网盘 路由器会中毒吗?WIFI设备会中毒吗? qq云盘免费 qq云盘问题。 QQ云盘到底是多少容量 QQ微云如何使用 CCN平台资金到底安全不 英国的CCN平台怎么呢?听说黄金外汇都可以做的! 自由(汉语词语)详细资料大全 在被黑客入侵后倒闭,如何能保证虚拟币安全