出典: http://blog.csdn.net//clh604/article/details/19706827
Gearman は、Hadoop と比較してタスク分散機能に重点を置いた、タスクを分散するためのプログラム フレームワークです。タスクの分散は非常にシンプルで、スクリプトだけで完了できるほどシンプルです。 Gearman は元々、LiveJournal の画像サイズ変更機能に使用されていました。画像のサイズ変更は大量のコンピューティング リソースを消費するため、タスクの完了後にフロントエンドに戻って実行するようにスケジュールする必要があります。それをインターフェースに提示します。
通常、多言語と複数システムの統合は大きな問題になります。このような統合の問題に対処するには WebService の方法を使用しますが、RPC スタイルや REST スタイルなど、どのスタイルの WebService を使用する場合でも、WebService 自体にはある程度の複雑さが伴います。それに比べて、Gearman は同様の機能を実現でき、よりシンプルで使いやすいです。
Gearman リクエストの処理には、クライアント -> ジョブ -> の 3 つの役割が含まれます。
クライアント: リクエストのイニシエーター (C、PHP、Perl、MySQL UDF など)。
ジョブ: リクエスト スケジューラは、クライアントによって発行されたリクエストを調整し、適切なワークに転送する責任があります。
ワーカー: C、PHP、Perl などのリクエスト ハンドラー。
クライアントとワーカーは同じ言語の使用に限定されないため、複数の言語とシステム間の統合に役立ちます。
ワーカーを追加しても、アプリケーションの分散負荷分散アーキテクチャを簡単に実装できます。
Gearman サーバーとライブラリをインストールします:
wget http://launchpad.net/gearmand /trunk/0.8/+download/gearmand-0.8.tar.gz
tar zxf gearmand-0.8.tar.gz
cd gearmand-0.8
./configure
sudo make
sudo make install
途中でいくつかの問題が発生する可能性があります:
./configure の場合、ライブラリが不足している可能性があります。通常、2 つの開発パッケージ libevent と uuid が欠落しています。 。 。
sudo apt-get install libevent-dev
sudo apt-get install uuid-dev
インストール完了後にインストールを再構成し、
sudo ldconfig
Gearman PHP 拡張機能をインストールします:
wget http://pecl.php.net/get/gearman-0.4.0。 🎜> tar zxf gearman-0.4.0.tgz
cd gearman-0.4.0
phpize
./configure
sudo make
sudo make install
middle 考えられる問題:
phpize コマンドが見つかりません。phpize は php 開発パッケージに含まれているため、最初に php5-dev をインストールする必要があります
sudo apt-get install php5-dev
インストール後つまり、ソース コード ディレクトリで phpize を実行して、関連するインストール構成情報を生成し、次の ./configure などを実行できます。
make install 後、生成された Gearman が保存されているディレクトリが表示されます。そうです。
必要に応じて、対応する PHP の拡張機能ディレクトリに移動します (デフォルトでシステムにインストールされた PHP を直接使用するため、拡張機能内に自動生成されます)
次の変更php.ini PHP にモジュールをロードさせるには:
php --ini
extension = "gearman.so"
次に、クライアントとワーカーの作成を開始します
client.php
[php]
プレーン コピーを表示します
[php]
プレーンコピーを表示