gearman的安装与使用

分类: PHP,服务器  • 发布时间: 2016-01-04 22:03:53  • 浏览量:23856

gearman是可以把工作委派到其它机器或进程的工具。 

Gearman通常由三部分组成,client+worker+任务服务器,由worker执行client发来的job,再通过job server返回给client。Gearman提供了Client、Worker的API,利用这些API来与job server通讯。 

Gearman Stack

官网地址:http://gearman.org/

官方安装教程:http://gearman.org/getting-started/

这里以PHP为例,Gearman的安装分两步:

1.安装并启动Gearman这个守护程序

2.安装与 PHP 版本相匹配的 PHP Gearman扩展。 http://pecl.php.net/package/gearman

前辈们分享的安装教程:http://segmentfault.com/a/1190000000494087


启动Gearman这个守护程序:

gearmand -d

一个简单的例子:

client.php

$client= new GearmanClient();
$client->addServer("127.0.0.1", 4730);
$str = $_GET['a'];
print $client->do("title", $str);

worker.php

$worker= new GearmanWorker();
$worker->addServer("127.0.0.1", 4730);
$worker->addFunction("title", "title_function");
while ($worker->work());
function title_function($job)
{
    $str = $job->workload();
    return strlen($str);
}

然后打开终端,将worker.php运行起来,命令:

nohup php worker.php &

这时可以访问client.php查看效果


注:

1.worker应该做成守护进程(CLI模式),可以开启多个,这样client发起的任务就会分发到各个worker分别来执行(自动负载均衡 )

2.job也可以开启多个,以避免单点故障

中文手册下载:

Gearman中文手册.zip


文章标签: php, linux, gearman