日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gearman简介及安装使用

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

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


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

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

?

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

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

?

三.Gearman的安裝使用
首先下載Gearman的相關源碼,地址: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

我們為了清楚的演示,將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,輸入內容:

?

<?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,應該可以看見輸出不同的結果。?


總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。