Yar的RPC的应用-php

RPC,即 Remote Procedure Call(远程过程调用),调用远程计算机上的服务,就像调用本地服务一样。RPC可以很好的解耦系统。RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性,但其性能却不如基于 TCP 协议的 RPC。会两方面会直接影响 RPC 的性能,一是传输方式,二是序列化。

众所周知,TCP 是传输层协议,HTTP 是应用层协议,而传输层较应用层更加底层,在数据传输方面,越底层越快,因此,在一般情况下,TCP 一定比 HTTP 快。

现在扔几个示例对比一下php swoole与yar两个框架的rpc,swoole后面章节再介绍:

一、安装yar扩展
1、先确认哪个php版本使用此扩展,本人使用的是7.0,在宝塔中7.0的路径默认为

/www/server/php/70/

2、安装msgpack扩展

wget https://pecl.php.net/get/msgpack-2.0.3.tgz
tar zxvf msgpack-2.0.3.tgz
cd msgpack-2.0.3
/www/server/php/70/bin/phpize
./configure --with-php-config=/www/server/php/70/bin/php-config
make && make install

3、msgpack安装完成后,在php7.0的配置文件中加上

extension = /www/server/php/70/lib/php/extensions/no-debug-non-zts-20151012/msgpack.so

4、下载安装yar扩展

wget https://pecl.php.net/get/yar-2.0.5.tgz
tar zxvf yar-2.0.5.tgz
cd yar-2.0.5
/www/server/php/70/bin/phpize
./configure --with-php-config=/www/server/php/70/bin/php-config
make && make install

5、yar安装完成后,在php7.0的配置文件中加上

extension = /www/server/php/70/lib/php/extensions/no-debug-non-zts-20151012/yar.so 
IniCopy

6、重载php配置

7、示例:

https://www.php.net/manual/zh/yar.examples.php
微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?