用Yar扩展实现RPC
RPC
(Remote Procedure Call),远程过程调用。是一种进程间通信技术,允许程序像调用本地方法一样调用远程服务。
RPC
屏蔽了数据打包、网络通信的细节,使得使用者只需要关注于服务调用,而服务调用又像调用本地方法一样自然。
PHP有个Yar
扩展,提供了RPC
服务端和客户端的功能。
1. 安装
$ pecl install yar
稍候片刻,即可装好。
然后在php.ini
中加入如下一行:
extension=yar.so
2.Yar介绍
目前只需要关注Yar提供的两个类就行了:Yar_Server
和Yar_Client
。
2.1 Yar_Server
Yar_Server
提供了创建RPC
服务端相关的功能。该类大致如下:
Yar_Server {
/* 属性 */
protected $_executor ;
/* 方法 */
final public __construct (Object $obj)
public boolean handle (void)
}
- __construct 方法接收一个对象,创建一个
RPC
服务,该对象的public
方法便可由RPC
客户端调用 - handle 方法用于启动
RPC
服务
使用方式如下:
$server = new Yar_Server(new Service());