Gearman Erlang Client

Gearman


Gearman是一个通用的任务调度框架。
通过Gearman,多种编程语言,多台机器可以有机的结合,从而完成指定的任务。
其结构图如下:


  • 黄色区域表示由Gearman提供的设施
  • 蓝色区域表示由用户自己提供的部分

Gearman Job Server为核心的调度器,其管理Client(任务的调用者)和Worker(任务的执行者),负责任务的接收分发,以及将处理结果发送给Client。Job Server是任务的调度器,也是数据的中转者。

Gearman Client API及Gearman Worker API是由Gearman提供的各种语言版本的client library(如java, python, php, c等)。其遵循Gearman的交互协议,与Gearman Job Server(gearmand)进行通讯。Gearman官网中不提供Erlang Client,本文介绍Gearman Erlang Client的实现。

Gearman仅仅提供了一个框架,而具体的需要执行什么Job,Job如何处理,需要用户自己去定义(即上图中蓝色部分),用户的业务逻辑与Gearman Client API协作,从而完成某些功能和应用。

如何做到高可用?



 
worker和client都可以注册(register)到多个Job Server,当某个Job Server不可用时,可以尝试其它Server,避免的单点故障(SPF),从而提高可用性。

erl-gearman


erl-gearman 基于libgearman(Gearman提供的c client library),通过linked-in driver的方式实现。其参考了Erlang/erts inet_drv代码,通过erlang:port_control/3与driver进行交互。

目前erl-gearman仅仅支持Gearman Client API。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值