Gearman

  Gearman是 Brad Fitzpatrick 的一个作品,用perl写的任务调度程序,提供一个服务器端和多种语言的客户端接口,包括C/Perl/Python/Ruby等。

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

 

 

工作原理图:

   从上述的实现原理而言,Gearman的的作用类似于一个RPC中间件,调用方需要传递的数据是被调用的函数名和参数,Gearman负责网络的中间传输过程并调用Work Application中的方法。与传统RPC方式不同的是,Gearman对Client Application封装了网络寻址和错误处理的过程。

   Gearman可以用在各个方面,最简单的就是可以在不同语言之间架起一座桥梁。如果希望用php程序调用一个c函数,使用Gearman就可以实现了。不过用php程序调用c函数通常是使用php扩展的方式实现的。如果要php调用java、perl, gearman就很方便了。

    Gearman还可以用来做负载均衡。可以讲work放在不同的服务器上,比如图形图像处理的worker。如果把图形图像处理的worker和web前端机放在一起,会对web服务器的cpu资源构成比较大的压力。通过Gearman,把图形图像处理的压力转发到专门的机器上执行,可以最大限度的保证web前端机的及时响应。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值