`
xiaobo.liu
  • 浏览: 39844 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

gearmand 环境安装与配置

php 
阅读更多

Gearman是一个用来把工作委派给其他机器、分布式的调用更适合做某项工作的机器、并发的做某项工作在多个调用间做负载均衡、或用来在调用其它语言的函数的系统。

 

编译安装 gearmand

cd gearmand-1.1.12
[root@AY1403121111165237f2Z gearmand-1.1.12]# ls
aclocal.m4  build-aux     configure.ac  gear_config.in  libgearman-1.0     libhashkit-1.0  Makefile.am  README   tests
AUTHORS     ChangeLog     COPYING       gearmand        libgearmancore     libhostile      Makefile.in  rpm      THANKS
benchmark   configmake.h  docs          HACKING         libgearman-server  libtest         man          scripts  util
bin         configure     examples      libgearman      libhashkit         m4              NEWS         support  version.m4
[root@AY1403121111165237f2Z gearmand-1.1.12]# ./configure 
configure: error: could not find boost 错误解决
[root@AY1403121111165237f2Z gearmand-1.1.12]#yum install boost-devel*
configure: error: could not find gperf 错误解决
[root@AY1403121111165237f2Z gearmand-1.1.12]#yum install gperf*
configure: error: Unable to find libevent 错误解决
[root@AY1403121111165237f2Z gearmand-1.1.12]#yum install libevent-devel*
configure: error: Unable to find libuuid 错误解决
[root@AY1403121111165237f2Z gearmand-1.1.12]#yum install libuuid-devel

 上面错误的原因是编译器找不到 头文件

 

[root@AY1403121111165237f2Z gearmand-1.1.12]#make
[root@AY1403121111165237f2Z gearmand-1.1.12]#make install
测试
[root@AY1403121111165237f2Z /]# gearman -w -f wc -- wc -l
[root@AY1403121111165237f2Z /]# gearman -f wc < /etc/passwd
 运行过程

 

一个Gearman请求的处理过程涉及三个角色:Client -> Job -> Worker。

Client:请求的发起者,可以是 C,PHP,Perl,MySQL UDF 等等。

Job:请求的调度者,用来负责协调把 Client 发出的请求转发给合适的 Work。

Worker:请求的处理者,可以是 C,PHP,Perl 等等。

因为 Client,Worker 并不限制用一样的语言,所以有利于多语言多系统之间的集成。

 我们可以通过增加更多的 Worker,可以很方便的实现应用程序的分布式负载均衡架构。

 

Gearman PHP扩展安装

[root@AY1403121111165237f2Z gearman-1.1.2]# /www/wdlinux/php/bin/phpize
[root@AY1403121111165237f2Z gearman-1.1.2]# ./configure --with-php-config=/www/wdlinux/php/bin/php-config
[root@AY1403121111165237f2Z gearman-1.1.2]# make
[root@AY1403121111165237f2Z gearman-1.1.2]# make install

修改PHP的配置文件 重新启动 Apache 

测试Gearman PHP扩展

work.php
<?php
$worker= new GearmanWorker();
$worker->addServer("127.0.0.1", 4730);
$worker->addFunction("title","title_function");
while ($worker->work());
function title_function($job)
{
    $str = $job->workload();
    return strlen($str);
}
?>
-----------------------------------------------
client.php
<?php
$client= new GearmanClient();
$client->addServer("127.0.0.1", 4730);
print $client->do("title","Linvo");
?>

祝大家玩的开心

作者 范遥 [@buddy-L]

分享到:
评论

相关推荐

    gearmand-1.1.17.tar.gz

    6. **启动与配置**:安装完成后,可以找到gearmand的服务脚本启动服务。在大多数Linux发行版中,你可以使用以下命令启动服务: ``` sudo systemctl start gearmand ``` 若要设置为开机启动,执行: ``` sudo ...

    gearmand-1.1.5.tar.gz

    3. **配置脚本**:`configure`脚本是基于Autoconf的,用于检查系统环境并生成Makefile,以便在不同的操作系统上编译和安装Gearmand。 4. **Makefile.am**:这是Automake的配置文件,定义了编译规则和目标。 5. **...

    Gearman安装相关资源

    3. **配置与编译**:进入解压后的源码目录,使用 `./configure` 命令进行配置,这一步会检查系统环境,确保所有依赖项都已满足。然后,通过 `make` 命令进行编译,最后使用 `sudo make install` 安装到系统目录。 4...

    gearmand-0.9.tar.gz(在使用)

    2. `INSTALL`: 提供编译和安装齿轮人的详细步骤,可能包括依赖库的安装、配置选项以及编译和安装命令。 3. `configure`: 自动化脚本,用于检测系统环境并生成合适的Makefile。 4. `Makefile.am`: Makefile模板,由`...

    rhel5.7下安装gearmand及启动的方法

    在RHEL5.7环境下安装和启动Gearmand的步骤相当详细,涉及到多个依赖库的安装和配置。 Gearmand是一款开源的、基于C++编写的任务队列服务,它允许应用程序异步处理工作负载,提高系统效率。以下是安装和启动Gearmand...

    Gearman环境搭建资料

    本篇文章将详细讲解如何在Linux环境中搭建Gearman,包括依赖库的安装和Gearman服务的配置。 首先,我们来看三个重要的依赖库: 1. **libevent-2.0.22-stable.tar.gz**: 这是libevent库的一个版本,它是一个事件...

    gearman-1.1.2

    4) 博客专栏地址(Linux常用软件安装与配置):http://blog.csdn.net/column/details/linuxsoftwareinstall.html(持续增加,关注请收藏)。 5)欢迎大家关注博客更多精彩的内容:http://blog.csdn.net/CleverCode。

    php使用gearman进行任务分发操作实例详解

    通过以上知识点的介绍,我们了解了在PHP环境下如何安装和使用Gearman进行任务分发和异步处理任务。掌握了这些知识点后,开发者可以有效地利用Gearman解决Web应用中的长耗时任务处理问题,提高应用性能和用户体验。

    gearman-0.8.0.tgz

    4. **安装与配置**: 解压gearman-0.8.0.tgz后,通常会有一个名为`package.xml`的文件,这可能是用于构建或安装的配置文件,可能基于特定的构建系统如autotools或CMake。用户需要按照文档指示进行编译和安装,配置...

    gearman-0.5.0.tgz(在使用)

    1. **安装与配置**:首先,你需要解压 `gearman-0.5.0.tgz` 文件,使用 `tar -zxvf gearman-0.5.0.tgz` 命令。然后,进入解压后的目录,通过 `./configure` 进行配置,`make` 编译,最后使用 `sudo make install` ...

    gearman-cookbook:Gearman厨师食谱

    这个资料主要包含两个核心部分:客户端库的安装和服务器的配置。 1. **客户端库安装**: 在 Ruby 开发环境中,为了利用 Gearman,你需要安装 `libgearman` 库,这是一个 C 语言编写的库,为多种编程语言提供 ...

    gearman + mysql方式实现持久化操作示例

    在配置 Gearman 时,还需要确保已经安装了 MySQL 开发库(如 `mysql-devel`),因为这将使 Gearman 支持 MySQL 持久化。 通过上述步骤,Gearman 将能够将任务队列持久化到 MySQL 数据库中,从而提高了系统的容错性...

    gearman-distributed-job:熟悉Gearman的分布式工作

    在Java环境中,我们可以利用Gearman库来构建分布式工作流程,实现任务的异步处理和并行执行。 首先,我们需要了解Gearman的基本概念。它主要由三部分组成:Job Server、Workers和Clients。Job Server是核心,负责...

Global site tag (gtag.js) - Google Analytics