Gearman In Action
分布式任务系统是一个常见的需求,如果将 Gearman 作为 build block 来搭建这个系统的话,这样能够 make your life much easier。
首先看看 Gearman 是如何工作的:
Gearman 的中心是 Gearman Job Server 负责监听任务请求和分发,目前有官方支持的C、Java和Perl版本的服务器。而 Worker 和 Client 部分可以使用多种语言,总有一种适合的可选。
总体来说,Gearman是比较灵活的。在部署环境中,整个Gearman集群可能看起来是这样的:
下面是安装Gearman的笔记,也许可以帮助到第一次接触它的同学。
1 安装环境
>cat /etc/issue CentOS release 6.4 (Final) Kernel \r on an \m
>uname -a Linux huys 2.6.32-358.6.2.el6.x86_64 #1 SMP Thu May 16 20:59:36 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
2 安装依赖包
> sudo yum install make gcc gcc-c++ > sudo yum install boost-devel gperf libevent-devel libuuid-devel openssl-devel
3 安装 gearmand
> wget https://launchpad.net/gearmand/1.2/1.1.11/+download/gearmand-1.1.11.tar.gz > tar xvf gearmand-1.1.11.tar.gz > cd gearmand-1.1.11 > ./configure --prefix=/srv/gearman > make -j 2 > sudo make install
4 启动 gearmand
最好增加一下变量信息。
>export PATH=/srv/gearman/bin:/srv/gearman/sbin:$PATH >export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/srv/gearman/lib
>gearmand -d
5 建立 worker 和 client
# Worker gearman -w -f wc -- wc -l # Client gearman -f wc < /etc/passwd
实际应用中,可以考虑采用Python或者C#之类的常用语言来编写。