Gearman for MySQL

Gearman是一个开源的分布式调度框架,支持多种语言。在分布式环境中,如何管理大量的服务器,将某些任务分发到大量的机器上调度执行,是一个比较大的挑战,Gearman为该类任务提供了一个不错的思路。在未来的MySQL集群环境中,Gearman这类工具应当大有用武之地,所以它也提供了MySQL UDF的支持。
gearman_stack

一个Gearman请求的处理过程涉及三个角色:Client -> Job -> Worker。
  Client:请求的发起者,可以是 C,PHP,Perl,MySQL UDF 等等。
  Job:请求的调度者,用来负责协调把 Client 发出的请求转发给合适的 Worker。
  Worker:请求的处理者,可以是 C,PHP,Perl 等等。
因为 Client,Worker 并不限制用一样的语言,所以有利于多语言多系统之间的集成。



无觅相关文章插件,快速提升流量

4条评论

  • At 2009.11.13 01:21, P.Linux said:

    逍遥网的一个分布式图片处理集群就是采用Gearman,只利用Gearman做了运算能力的分布。
    用Gearman实现MySQL的分布式,事务处理是个麻烦的问题,XA事务能不能搞定这个问题,还没想法。Amoeba也就是事务处理不支持,否则用它来做Ameoba+(MySQL Cluster/Master-Slave)的处理还是不错的。
    Gearman以我目前的水平只能利用它来做运算的分布,涉及数据的分布,问题就复杂了,涉及事务处理,就更麻烦,还没什么思路能低成本的实现。

    • At 2009.11.25 16:50, orczhou said:

      这里MySQL UDF扮演的是一个client的角色:MySQL里面通过调用UDF将任务分发给Gearman背后的worker,最后返回值给UDF。感觉数据挖掘(分析)的时候可能需要这样的功能。
      这里Gearman扮演的仍然是分布式运算的功能

      • At 2010.01.24 18:41, bulletming said:

        前些日子在这里第一次看到这个。我这个周末仔细看了一下这个,gearman还是比较适合分布式运算。
        本来我以为可以替换我们日常运维部署变更用的一个Job Manager的平台核心呢,因为架构比较类似,现在仔细看了所有文档,暂时感觉还是不行,再有空可以研究一下,server,client,worker的协调方式,这个应该有点作用。

        • At 2011.05.21 00:54, gearmand « 阿喵就像家 said:

          […] Gearman for MySQL http://www.ningoo.net/html/2009/gearman-for-mysql.html […]


          (Required)
          (Required, will not be published)