旗下导航:搜·么
当前位置:网站首页 > PHP问题 > 正文

php rpc框架有哪些【php题目】

作者:搜搜PHP网发布时间:2019-11-26分类:PHP问题浏览:122


导读:什么是RPC框架?假如用一句话归纳综合RPC就是:长途挪用框架(RemoteProcedureCall)那什么是长途挪用?一般我们挪用一个php中的要...

什么是RPC框架 ?

假如用一句话归纳综合RPC就是:长途挪用框架(Remote Procedure Call)

那什么是 长途挪用 ?

一般我们挪用一个php中的要领,比方如许一个函数要领: localAdd(10, 20),localAdd要领的细致完成要么是用户本身定义的,要么是php库函数中自带的,也就说在localAdd要领的代码完成在当地,它是一个当地挪用!

长途挪用 意义就是:被挪用要领的细致完成 不在 顺序运转当地,而是在别的某个长途处所。

长途挪用道理

比方 A (client) 挪用 B (server) 供应的 remoteAdd 要领:

起首A与B之间竖立一个TCP衔接;

然后A把须要挪用的要领名(这里是remoteAdd)以及要领参数(10, 20)序列化成字撙节发送出去;

B接收A发送过来的字撙节,然后反序列化获得目的要领名,要领参数,接着实行响应的要领挪用(多是localAdd)并把效果30返回;

A接收长途挪用效果,输出30。

RPC框架就是把我适才说的这几点些细节给封装起来,给用户暴露简朴友爱的API运用。

长途挪用的优点

解耦:当server须要对要领内完成修改时,client完整感知不到,不用做任何变动;这类体式格局在跨部门,跨公司协作的时刻常常用到,而且要领的供应者我们一般称为:效劳的暴露。

RPC与Socket有什么区分?

经由过程上面的简朴论述,彷佛RPC与Socket 彷佛啊。都是挪用长途的要领,都是client/server情势,我之前也写了一篇文章: 细说socket 那他们有啥区分呢?

RPC(长途过程挪用)采纳客户机/效劳器情势完成两个历程之间相互通讯。socket是RPC常常采纳的通讯手腕之一,RPC是在Socket的基础上完成的,它比socket须要更多的收集和体系资源。除了Socket,RPC另有其他的通讯要领,比方:http、操作体系自带的管道等手艺来完成关于长途顺序的挪用。微软的Windows体系中,RPC就是采纳定名管道举行通讯。

RPC与REST有什么区分?

经由过程相识RPC后,我们晓得是RPC是client/server情势的,挪用长途的要领,REST也是我们熟习的一套API挪用协定要领,它也是基于client/server情势的,挪用长途的要领的,那他俩又有啥区分呢?

REST API 和 RPC 都是在 Server端 把一个个函数封装成接口暴露出去,以供 Client端 挪用,不过 REST API 是基于 HTTP协定 的,REST致力于经由过程http协定中的POST/GET/PUT/DELETE等要领和一个可读性强的URL来供应一个http要求。而 RPC 则能够不基于 HTTP协定

因而,假如是后端两种言语相互挪用,用 RPC 能够获得更好的机能(省去了 HTTP 报优等一系列东西),应当也更轻易设置。假如是前端经由过程 AJAX 挪用后端,那末用 REST API 的情势比较好(由于无论如何也避不开 HTTP 这道坎)。

php中盛行的rpc框架有哪些?

既然php是世界上最好的言语,那php中盛行的RPC框架有哪些呢?

先枚举下: phprpc , yar , thrift , gRPC , swoole , hprose

由于时候和精力有限,不可能一个一个的去进修和运用,我选几个世面上用的最多的几个用下吧。由于RPC道理是一样的,都是Client/Server情势,只是每一个框架的运用体式格局不一样罢了。

以上就是php rpc框架有哪些的细致内容,更多请关注ki4网别的相干文章!

标签:phprpc框架