1 介紹:
gearman是乙個用來把工作委派給其他機器、分布式的呼叫更適合做某項工作的機器、併發的做某項工作在多個呼叫間做負載均衡、或用來在呼叫其它語言的函式的系統。
2 組成:
3執行過程
4 gearmand安裝
5 gearmand使用
5.1建立worker
<?php
$worker= new gearmanworker();
$worker->addserver('192.168.142.130 ','4730 ');
$worker->addfunction("sendmail","my_sendmail_function");
while($worker->work());
function my_sendmail_function($job)
5.2 建立乙個client
建立乙個client.php。do()方法是阻塞模式,必須等待worker端返回結果,程式才能停止。
<?php
$client=new gearmanclient();//初始化乙個client
$client->addserver('192.168.142.130', '4730');
$job=array(); //定義初始化乙個job陣列,來存放資料,把client的請求傳送出去
$job['from']='clevercode'; //1 把存放的資料存放到陣列中
$job['to']='gearman'; //2
$job['subject']='hello gearman'; //3
$job['content']='hello gearman:this is from gearmanclient'; //4
$job=serialize($job); // 序列化成字串
//等到worker端返回結果,才會結束。
$ret=$clent->do("sendmail",$job);
?>
使用php提供的序列化函式serialize()
j ob
seri
aliz
e=se
rial
ize(
job_serialize = serialize(
jobse
rial
ize=
seri
aliz
e(job); // 序列化成字串
接下來就是將這個字串存入資料庫即可,當我們將資料讀取出來時,再將這個字串進行反串行為陣列即可
j ob
rest
ore=
unse
rial
ize(
job_restore = unserialize(
jobre
stor
e=un
seri
aliz
e(job_serialize); // 反序列化為陣列
分布式的任務分發框架 Gearman
官方文件 安裝方法和示例都有,可以詳細看一下。gearman是乙個分發任務的程式框架,可以用在各種場合,與hadoop相比,gearman更偏向於任務分發功能。它的任務分布非常簡單,簡單得可以只需要用指令碼即可完成。gearman最初用於livejournal的resize功能,由於resize需要...
嘗試用Gearman實現分布式處理(PHP)
本文需要你已對gearman有個大致了解,如果不知該東東是何物,請參考之前一篇 日誌 gearman 分布式遠端過程處理框架 http hi.baidu.com thinkinginlamp blog item ff49972b9e7378f3e6cd40aa.html 學學gearman http...
使用Docker安裝FastDFS分布式檔案系統
sudo docker image pull delron fastdfs也可以直接使用映象備份檔案 sudo docker load i 檔案路徑 fastdfs docker.tarsudo docker run dti network host name tracker v var fdfs ...