通过 yar 初识RPC, 远程调用服务(RPC)和消息队列(Message Queue)

php 消息队列:

Yar_Client 使用:

1,Yar_Client : php扩展框架(鸟哥的yar框架),可支持并发的 rpc 框架

通过 yar 初识RPC, 远程调用服务(RPC)和消息队列(Message Queue)

CI框架使用:

defined('MQ_RPC_URL') OR define('MQ_RPC_URL', 'http://mq.xxx.com');

$client = new Yar_Client(MQ_RPC_URL . '/api_xxx.php');

2, Yar_Client官方解释:

Yar_Client::setOpt — 设置调用的配置(设置调用远程服务的一些配置, 比如超时值, 打包类型等.)

<?php

$cient = new Yar_Client("http://host/api/");// 调用远程服务中方法(我的理解)

// Set timeout to 1s = 可选, 设置超时时间, 默认1秒 ​ $client->SetOpt(YAR_OPT_CONNECT_TIMEOUT, 1000);

// Set packager to JSON = 设置json包 ​ $client->SetOpt(YAR_OPT_PACKAGER, "json");

/* call remote service */ ​ $result = $client->some_method("parameter");

具体使用: /* call remote service */
$result = $client->report("数据库表", 参数一, 参数二);// report为远程服务中方法 

?>

yar扩展安装:

pecl install yar

vim /etc/php.ini php.ini --> php 配置文件 加上extension=yar.so

查看支持的配置:php --re yar

具体实例:

<?php

defined('MQ_RPC_URL') OR define('MQ_RPC_URL', 'http://mq.xxx.com');

try {

$client = new Yar_Client(MQ_RPC_URL . '/api_xxx.php');

$client->SetOpt(YAR_OPT_CONNECT_TIMEOUT, 1000);

$result = $client->report("数据库表", 参数一, 参数二);// report为远程服务中方法

} catch (Exception $e) { print $e->getMessage();exit(); } ?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值