下面我們來實現分布式,也就是萬一乙個程序死掉或者一台伺服器當掉的情況
假設兩台伺服器: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);
$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內的其他節點,如提供配置資料,並停止節點,執行備份等。由於這類節點負責管理其他節點的配置,應該在啟動其他節點之...