php 使用gearman进行任务分发

Gearman是一套用来把程式需求委派给机器,提供通用的程序框架来将任务分发在机器运算。它同时具备并行工作的能力、负载均衡处理的能力,以及在不同程序语言之间沟通的能力。

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

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

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

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

安装

就目前看来gearman只支持linux不支持windows,如果需要跨机器异构语言,gearman是不错的选择,如果仅仅为了php项目的实现。其实可以使用workerman或者swoole结合自己的应用场景进行定制化开发。或者有兴趣的同仁可以自己造一个更好的轮子。

基本参照gearman官方教程就可以了解差不多了,这里有个问题,官网的PHP扩展已经好几年没有更新了,目前并不支持php7,需要兼容PHP7就得安装第三方扩展了。第三方PHP扩展

简单使用

其实网上一搜会有很多,我再重复发意义不大了。等我抽象出一个具有实际使用意义的demo会再来更新这篇文章的

评论

captcha