gearman php 分布式搭建

2022-04-15 12:29:35 字數 1843 閱讀 1609

下面我們來實現分布式,也就是萬一乙個程序死掉或者一台伺服器當掉的情況

假設兩台伺服器:192.168.10.102 和 192.168.10.103

102的work**如下:

<?php

$worker= new

gearmanworker();

$worker->addserver();

$worker->addserver('192.168.10.103',4730);

$worker->addfunction("title", "title_function");

while ($worker->work());

function title_function($job)

?>

103的work**與102基本相同

<?php

$worker= new

gearmanworker();

$worker->addserver();

$worker->addserver('192.168.10.102',4730);

$worker->addfunction("title", "title_function");

while ($worker->work());

function title_function($job)

?>

分別啟動work程序:/usr/local/php/bin/php test/localhost/worker.php &

103的client.php **如下:

<?php

$client= new

gearmanclient();

$client->addserver('127.0.0.1',4730);

$client->addserver('192.168.10.102',4730);

print

$client->do("title", "all the world's a stage");

print "\n";

?>

執行 /usr/local/php/bin/php client.php 輸出為:all the world's a stage102,說明他在102執行了請求。

測試一:如果掛掉乙個程序,效果如何?

1、修改102的work程式

<?php

$worker= new

gearmanworker();

$worker->addserver('127.0.0.1',4730);

$worker->addfunction("title", "title_function");

while ($worker->work());

function title_function($job)

?>

2、啟動另外乙個work程序 /usr/local/php/bin/php work.php & 。注意此時102有兩個程序。

3、再次執行 /usr/local/php/bin/php client.php 輸出為:all the world's a stagenew102,說明第二個work程序接受了請求。

4、kill第二個程序(假設掛掉乙個程序)。再次執行 /usr/local/php/bin/php client.php 輸出為:all the world's a stagen102。

5、kill第乙個程序(假設掛掉102這台伺服器)。

6、執行 /usr/local/php/bin/php client.php 輸出為:all the world's a stagen103

摘自:

gearman php 分布式搭建

下面我們來實現分布式,也就是萬一乙個程序死掉或者一台伺服器當掉的情況 假設兩台伺服器 192.168.10.102 和 192.168.10.103 102的work 如下 worker new gearmanworker worker addserver worker addserver 192....

mysql分布式搭建 MySQL分布式集群搭建

1 準備集群搭建環境 使用6臺虛擬機器來搭建mysql分布式集群,相應的實驗環境與對應的mysql節點之間的對應關係如下圖所示 管理節點 mgm 這類節點的作用是管理mysqlcluster內的其他節點,如提供配置資料,並停止節點,執行備份等。由於這類節點負責管理其他節點的配置,應該在啟動其他節點之...

MySQL分布式集群搭建

1 準備集群搭建環境 使用6臺虛擬機器來搭建mysql分布式集群,相應的實驗環境與對應的mysql節點之間的對應關係如下圖所示 管理節點 mgm 這類節點的作用是管理mysqlcluster內的其他節點,如提供配置資料,並停止節點,執行備份等。由於這類節點負責管理其他節點的配置,應該在啟動其他節點之...