Gearman 异步处理委派任务
Gearman是 Brad Fitzpatrick 的一个作品,用 Perl 写的任务调度程序,提供一个服务器端和多种语言的客户端接口,包括 C/Perl/Python/Ruby 等,在 client library 本身就支持一定程度的高可靠度。
在一个 Web 应用程序内可能有许多地方都会用到 Gearman。可以导入大量数据、发送许多电子邮件、编码视频文件、挖据数据并构建一个中央日志设施 — 所有这些均不会影响站点的体验和响应性。可以并行地处理数据。而且,由于 Gearman 协议是独立于语言和平台的,所以您可以在解决方案中混合编程语言。比如,可以用 PHP 编写一个 producer,用 C、Ruby 或其他任何支持 Gearman 库的语言编写 worker。
一个连接客户机和 worker 的 Gearman 网络实际上可以使用任何您能想象得到的结构。很多配置能够运行多个代理并将 worker 分配到许多机器上。负载均衡是隐式的:每个可操作的可用 worker(可能是每个 worker 主机具有多个 worker)从队列中拉出作业。一个作业能够同步或异步运行并具有优先级。
Gearman 的最新版本已经将系统特性扩展到了包含持久的作业队列和用一个新协议来通过 HTTP 提交工作请求。对于前者,Gearman 工作队列保存在内存并在一个关系型数据库内存有备份。这样一来,如果 Gearman 守护程序故障,它就可以在重启后重新创建这个工作队列。另一个最新的改良通过一个 memcached 集群增加队列持久性。memcached 存储也依赖于内存,但被分散于几个机器以避免单点故障。
Gearman 是一个刚刚起步却很有实力的工作分发系统。据 Gearman 的作者 Eric Day 介绍,Yahoo! 在 60 或更多的服务器上使用 Gearman 每天处理 600 万个作业。新闻聚合器 Digg 也已构建了一个相同规模的 Gearman 网络,每天可处理 400,000 个作业。Gearman 的一个出色例子可以在 Narada 这个开源搜索引擎(参见 参考资料)中找到。
Gearman 的未来版本将收集并报告统计数据、提供高级监视和缓存作业结果等。为了跟踪这个 Gearman 项目,可以订阅它的 Google 组,或访问 Freenode 上它的 IRC 频道 #gearman。
Gearman 可以用在各个方面,最简单就是在不同语言之间架起一座桥梁。比如你可能希望你的php程序调用一个c 函数,那么用gearman就可以实现了,当然了实际你可以通过写一个php扩展来实现同样的工作,但是比如你要php调用java,perl,或者python那么,Gearman就非常棒了。
kimi at 2010-04-08 09:39:59 in Linux
转载于:https://blog.51cto.com/ppp1013/326075
Gearman 异步处理委派任务相关推荐
- gearman服务连接php,Gearman异步服务安装使用
一.简介 gearman异步处理服务. 二. 安装 1,安装管理软件仓库,添加gearman服务地址源 sudo apt-get install software-properties-common ...
- 利用Gearman,搭建异步分布式计算平台
Gearman的介绍 主页在http://gearman.org/index.php, 它的主要优点有:1. 实现了异步计算.可以将比较耗时的计算分配到分布式计算集群来减少站点服务器的压力和用户的等待 ...
- PhalApi+Gearman,接口MQ异步队列任务的完整开发教程
MQ异步队列 在API接口同步请求过程中,不适合处理耗时过长.或者一直轮询的工作.此时,可以结合MQ异步队列任务进行后台处理. MQ异步队列服务 - Gearman 关于异步队列服务有很多种,这里Ph ...
- gearman mysql 扩展_Gearman的安装和使用
Gearman 是一个分布式任务分发系统,通过程序调用(API,跨语言)分布式地把工作委派给更适合做某项工作的机器,且这些机器可以以并发的.负载均衡的形式来共同完成某项工作.当计算密集型场景时,适合在 ...
- Gearman的安装和使用
首发于 樊浩柏科学院 Gearman 是一个分布式任务分发系统,通过程序调用(API,跨语言)分布式地把工作委派给更适合做某项工作的机器,且这些机器可以以并发的.负载均衡的形式来共同完成某项工作.当计 ...
- 基于阿里云搭建的适合初创企业的轻量级架构--架构总结
----基于阿里云搭建的适合初创企业的轻量级架构 前言 在项目的初期往往存在很多变数,业务逻辑时刻在变,而且还要保证快速及时,所以,一个灵活多变.快速部署.持续集成并可以适应多种情况的架构便显得尤为重 ...
- 如何基于阿里云搭建适合初创企业的轻量级架构?
----基于阿里云搭建的适合初创企业的轻量级架构 前言 在项目的初期往往存在很多变数,业务逻辑时刻在变,而且还要保证快速及时,所以,一个灵活多变.快速部署.持续集成并可以适应多种情况的架构便显得尤为重 ...
- 通用图床服务架构解析(百万级回源/天)
Hulk 图床是支持 360 公司绝大部分业务的图片服务,支持多种图片处理功能,如:裁剪.压缩.滤镜.pHash 计算.人脸识别.格式转换.gif 首帧提取--等等,支持的业务线包括:搜索.图搜.新闻 ...
- Gearman + Nodejs + MySQL UDF异步实现 MySQL 到 Redis 的数据同步
目录 1, 环境 2, Redis简介 3, Gearman简介 4, MySQL - Redis配合使用方案 4, 软件安装 5, MySQL UDF + Trigger同步数据到Gearman 6 ...
最新文章
- 树莓派文件服务器nas,树莓派搭建NAS服务器
- ASP.NetViewState的实现方案
- Appcelerator Titanium 3.x Win7 64位平台安装步骤
- 绕过html标签,巧妙绕过WAF的XSS技巧
- 华中科技大学计算机学院考研大纲,2021华中科技大学考研大纲参考书目汇总
- c++ 命名空间的using声明
- USACO-Section1.3 Transformations (矩阵旋转匹配问题)
- mysql linux设置密码_Linux下第一次使用MySQL数据库,设置密码
- mysql多线程复制binlog_MySQL 不同复制模式下,如何忽略binlog事件
- 推荐一款非常好用的截图工具 - SETUNA2,【订】一下就解决了你做数据对照的麻烦
- Creator开源游戏、插件、教程、视频汇总
- Android WallpaperManager 壁纸分析
- 描述配置文件( .mobileconfig)
- 学拳录 23退步压肘
- w7计算机防火墙无法更改,win7系统提示防火墙无法更改某些设置错误代码0x8007437的原因及四种解决方法...
- 我这样写python代码表白泡到了我的女神师姐
- AcWing 3531. 哈夫曼树(哈夫曼树)
- 好车主互助|中国互联网变革史:工具类互联网企业的跌宕起伏
- kindle版java核心_深入理解java 7 核心技术与最佳实践-成富[6寸pdf mobi epub kindle版].pdf...
- 分享几个快速加微信粉丝的方法