首页 > 后端开发 > 正文

php的轻量级rpc框架yar 什么是rpc框架,及其作用,在php方向上的使用

2023-10-04 20:55:24 | 我爱编程网

最近经常有小伙伴私信询问php的轻量级rpc框架yar 什么是rpc框架,及其作用,在php方向上的使用相关的问题,今天,我爱编程网小编整理了以下内容,希望可以对大家有所帮助。

php的轻量级rpc框架yar 什么是rpc框架,及其作用,在php方向上的使用

rpc框架有哪些

以Java领域为例,rpc框架有:
1、传统的webservice框架:ApacheCXF、ApacheAxis2、java自带的JAX-WS等等。webService框架大多基于标准的SOAP协议。
2、新兴的微服务框架:Dubbo、springcloud、ApacheThrift等等。
RPC(RemoteProcedureCallProtocol):远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息的到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用过程接收答复信息,获得进程结果,然后调用执行继续进行。

php的轻量级rpc框架yar 什么是rpc框架,及其作用,在php方向上的使用

什么是rpc框架,及其作用,在php方向上的使用

远程调用”
通常我们调用一个方法,譬如: localAdd(10, 20),localAdd方法的具体实现要么是用户自己定义,要么存在于该语言的库函数中,也就说在localAdd方法的代码实现在本地,它是一个本地调用!

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

远程调用原理
譬如 A调用B提供的remoteAdd方法:,

首先A与B之间建立一个TCP连接;
然后A把需要调用的方法名(这里是remoteAdd)以及方法参数(10, 20)序列化成字节流发送出去;
B接受A发送过来的字节流,然后反序列化得到目标方法名,方法参数,接着执行相应的方法调用(可能是localAdd)并把结果30返回;
A接受远程调用结果
RPC框架无非就是把我刚才说的那些细节通通封装起来,给用户暴露简单友好的API使用(ps:有些远程调用选择比较底层的socket协议,有些远程调用选择比较上层的HTTP协议);

远程调用好处:
解耦:当方法提供者需要对方法内实现修改时,调用者完全感知不到,不用做任何变更;这种方式在跨部门,跨公司合作的时候经常用到,并且方法的提供者我们通常称为:服务的暴露方
至于soap,yar,phprpc,thrift这几样的东西,一个都没用过,所以不好评价

php的轻量级rpc框架yar 什么是rpc框架,及其作用,在php方向上的使用我爱编程网

什么是 RPC 框架?

RPC(Remote Procedure Call,即远程过程调用)是建立在Socket之上的,在一台机器上运行的主程序,可以调用另一台机器上准备好的子程序,就像LPC(本地过程调用)。也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法。

由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。对于RPC架构来说,应用越底层,代码越复杂、灵活性越高、效率越高;应用越上层,抽象封装的越好、代码越简单、效率越差。

RPC 框架注意事项

RPC 的调用通常为了方便使用,会被伪装成普通方法调用的形式。但实际二者之间存在巨大的差异,进程内的方法调用的时间量级是 ns(纳秒),而进程间的 RPC 方法调用时间量级通常是 ms(毫秒),它们之间差着 10 的六次方。

因此,微服务架构下,内部主服务链之间的 RPC 调用需要异步化,服务之间的调用请求和等待结果相互之间解耦。

以上就是我爱编程网小编整理的内容,想要了解更多相关资讯内容敬请关注我爱编程网。
与“php的轻量级rpc框架yar 什么是rpc框架,及其作用,在php方向上的使用”相关推荐
基于rpc的php框架 什么是 RPC 框架?
基于rpc的php框架 什么是 RPC 框架?

rpc框架有哪些以Java领域为例,rpc框架有:1、传统的webservice框架:ApacheCXF、ApacheAxis2、java自带的JAX-WS等等。webService框架大多基于标准的SOAP协议。2、新兴的微服务框架:Dubbo、springcloud、ApacheThrift等等。RPC(RemoteProcedureCallProtocol):远程过程调用协

2023-09-17 17:30:14
php的rpc框架 phprpc 在什么场合用
php的rpc框架 phprpc 在什么场合用

php有没有其他好用的微服务框架?微服务这个技术在这几年很火啊,用人话说:微服务架构是一项在云中部署应用和服务的新技术。PHP微服务框架也是这几年才发展起来,大部分PHPer应该还没有接触过PHP有这个腾讯高性能RPC开发框架Tars实现服务治理(微服务),是一个兼顾易用性、高性能、服务治理的框架,目的是让开发更简单,聚焦业务逻辑,让运营更高效,一切尽在掌握。目前该框架在腾讯内

2023-09-11 18:22:18
php之rpc框架 什么是 RPC 框架?
php之rpc框架 什么是 RPC 框架?

RPC框架(2-实现服务端注册多个服务)5.1中我们注册完HelloService的实现类,服务器就自行启动了。针对上述问题,将服务的注册和服务器启动分离,使得服务端可以提供多个服务。我们需要一个容器,这个容器很简单,就是保存一些本地服务的信息,并且在获得一个服务名字的时候能够返回这个服务的信息。创建一个ServiceRegistry接口:一目了然,一个regist

2023-09-06 08:14:37
php写rpc框架 什么是 RPC 框架?
php写rpc框架 什么是 RPC 框架?

rpc框架有哪些以Java领域为例,rpc框架有:1、传统的webservice框架:ApacheCXF、ApacheAxis2、java自带的JAX-WS等等。webService框架大多基于标准的SOAP协议。2、新兴的微服务框架:Dubbo、springcloud、ApacheThrift等等。RPC(RemoteProcedureCallProtocol):远程过程调用协

2023-09-09 04:42:56
rpc框架php phprpc 在什么场合用
rpc框架php phprpc 在什么场合用

phprpc在什么场合用PHPRPC是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议。目前该协议的最新版本为3.0。该版本目前已有以下几种语言的实现:●ASP:提供JScript和VBScript两种语言的支持。●ActionScript:

2023-08-28 17:06:27
php常用的rpc框架 php有没有其他好用的微服务框架?
php常用的rpc框架 php有没有其他好用的微服务框架?

什么是RPC框架?RPC(RemoteProcedureCall,即远程过程调用)是建立在Socket之上的,在一台机器上运行的主程序,可以调用另一台机器上准备好的子程序,就像LPC(本地过程调用)。也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法。由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。对于RP

2023-09-15 01:48:14
php好用的rpc框架 php有没有其他好用的微服务框架?
php好用的rpc框架 php有没有其他好用的微服务框架?

什么是rpc框架,及其作用,在php方向上的使用远程调用”通常我们调用一个方法,譬如:localAdd(10,20),localAdd方法的具体实现要么是用户自己定义,要么存在于该语言的库函数中,也就说在localAdd方法的代码实现在本地,它是一个本地调用!“远程调用”意思就是:被调用方法的具体实现不在程序运行本地,而是在别的某个地方;远程调用原理譬如A调用B提供的re

2023-09-23 18:45:49
轻量级php框架slim使用 php现在比较热门实用的框架有哪些?
轻量级php框架slim使用 php现在比较热门实用的框架有哪些?

什么PHP框架可以自定义路由,我要用POST请求来做路由,并且路由的key可以自己定义可以自定义路由的框架太多了,以下从框架的可用性等来介绍:Laravel框架:合框架的大成,是一个全栈框架,包含:MVC,缓存,队列,定时任务等等。Slim:一个微型的框架,如果是简单的App后端服务,可以使用。ThinkPHP5.0版本:中文文档十分丰富,使

2023-09-26 05:34:26