日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

gearman简介及安装使用

發(fā)布時間:2025/7/25 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gearman简介及安装使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

FROM: http://www.cnblogs.com/codebean/archive/2011/07/26/2117074.html


一.Gearman是什么?
Gearman是一個分發(fā)任務的程序框架。它由三部分組成,如下圖:

Gearman?Client:它提供Gearman?Client?API給我們的應用程序調(diào)用API可以使用是?CPHPPerlMySQL?UDF?等等語言,它是請求的發(fā)起者?? Gearman?Job?Server:將客戶端的請求分發(fā)到各個Gearman?Worker的調(diào)度者,相當于中央控制器,它不負責處理具體業(yè)務邏輯。
Gearman?Worker:它提供Gearman?Worker?API給應用程序調(diào)用,具體負責客戶端的請求,并將處理結(jié)果返回給客戶端。

?

二.Gearman能干什么?
通過上面可以看出,在Gearman?ClientGearman?Worker可以使用不同的編程語言,這給我們在不同語言通信提供了機會。比如客戶端我們用的是PHP,在具體處理的Gearman?Worker中,我們則可以使用C

另外,由于中間的Gearman?Job?Server,它可以把一個請求分發(fā)到眾多worker中的一個,可以用來做負載均衡。
另外,Gearman在處理并發(fā)方面也是大大有用的。

?

三.Gearman的安裝使用
首先下載Gearman的相關(guān)源碼,地址:http://gearman.org/index.php?id=download
gearmandhttp://launchpad.net/gearmand/trunk/0.24/+download/gearmand-0.24.tar.gz

libgearman?(C)http://launchpad.net/gearmand/trunk/0.14/+download/gearmand-0.14.tar.gz
Gearman?PHP?Extensionhttp://pecl.php.net/get/gearman-0.7.0.tgz

我們?yōu)榱饲宄难菔?#xff0c;將gearmand安裝在192.168.132.30Job?server)上面,在分別將Gearman?PHP擴展安裝的機器192.168.132.64worker)和192.168.132.68client)上面。Workerclient我們都使用PHP語言。
192.168.132.30Job?server)上面:

tar xvzf gearmand-0.24.tar.gz
cd gearmand-0.24/
./configure
make
sudo make install
//如果在configure時報錯,則可能缺少包,可能需要安裝如下包:
sudo apt-get install libboost-program-options-dev libevent-dev uuid-dev
//開啟Gearmand服務
gearmand -d

192.168.132.64worker)和192.168.132.68client),分別如下:

//首先安裝PHP 擴展需要的libgearman
tar xvzf gearmand-
0.14.tar.gz
cd gearmand
./configure
make
sudo make install
//如果在configure時報錯,則可能缺少包,可能需要安裝如下包:
sudo apt-get install libboost-program-options-dev libevent-dev uuid-dev
//安裝PHP擴展
tar xvzf gearman-
0.7.0.tgz
cd gearman
phpize
./configure --with-php-config=/data0/php52/bin/php-config
make
make install
//找到PHP的配置文件php.ini,編輯它
vim php
.ini
//在php.ini的末尾加上
extension
=gearman.so

以上都好了以上,可以使用?php?-re?gearman看一些是不是gearman擴展安裝成功了。

下面我們來測試一下:
192.168.132.64worker),編輯文件worker.php:

<?php
$worker=new GearmanWorker();
$worker->addServer("192.168.132.30",4730); //連接到Job server 上
$worker->addFunction("reverse","my_reverse_function");
while ($worker->work());

function my_reverse_function($job)
{
returnstrrev($job->workload())." worker1";
}
?>

然后在后臺運行該文件:php?worker.php?&.
再編輯一個文件worker2.php,輸入內(nèi)容:

?

<?php
$worker=new GearmanWorker();
$worker->addServer("192.168.132.30",4730); //連接到Job server 上
$worker->addFunction("reverse","my_reverse_function");
while ($worker->work());

function my_reverse_function($job)
{
returnstrrev($job->workload())." worker2";
}
?>

在后臺運行該文件:php?worker2.php?&
192.168.132.68client),編輯文件?client.php:

<?php
$client=new GearmanClient();
$client->addServer("192.168.132.30",4730); //連接到Job server上
echo$client->do("reverse","Hello World!");
?>

 然后多次運行php?client.php,應該可以看見輸出不同的結(jié)果。?


總結(jié)

以上是生活随笔為你收集整理的gearman简介及安装使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。