首页 | Linux | 论坛 | 精华 | 博客 | 资料 | 手册 | 知识库 | 下载 | 人才 | 沙龙 | 搜索 | 登录 | 注册  
下载分类
操作系统
系统相关
网络互连
开发工具
应用程序
多媒体工具
游戏娱乐
资料视频
本类周下载TOP10
本类总下载TOP10
您的位置:自由软件库->应用程序->数据库->beanstalkd

首字母搜索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z


软件名称: beanstalkd
授权方式: GPL
操作系统: Linux,FreeBSD,i386,x86_64
软件大小: 62K
最新更新: 2012-11-16 18:28:25
软件简介:

高性能分布式内存队列Beanstalkd,一个高性能、轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面 访问延迟,支持过有9.5 million用户的Facebook Causes应用。后来开源,现在有PostRank大规模部署和使用,每天处理百万级任务。Beanstalkd是典型的类Memcached设计,协议和使用方式都是同样的风格,所以使用过memcached的用户会觉得Beanstalkd似曾相识。
核心概念
Beanstalkd设计里面的核心概念:

job
一个需要异步处理的任务,是Beanstalkd中的基本单元,需要放在一个tube中。

tube
一个有名的任务队列,用来存储统一类型的job,是producer和consumer操作的对象。

producer
Job的生产者,通过put命令来将一个job放到一个tube中。

consumer
Job的消费者,通过reserve/release/bury/delete命令来获取job或改变job的状态。

Beanstalkd中一个job的生命周期如图2所示。一个job有READY, RESERVED, DELAYED, BURIED四种状态。当producer直接put一个job时,job就处于READY状态,等待consumer来处理,如果选择延迟 put,job就先到DELAYED状态,等待时间过后才迁移到READY状态。consumer获取了当前READY的job后,该job的状态就迁移 到RESERVED,这样其他的consumer就不能再操作该job。当consumer完成该job后,可以选择delete, release或者bury操作;delete之后,job从系统消亡,之后不能再获取;release操作可以重新把该job状态迁移回READY(也 可以延迟该状态迁移操作),使其他的consumer可以继续获取和执行该job;有意思的是bury操作,可以把该job休眠,等到需要的时候,再将休 眠的job kick回READY状态,也可以delete BURIED状态的job。正是有这些有趣的操作和状态,才可以基于此做出很多意思的应用,比如要实现一个循环队列,就可以将RESERVED状态的 job休眠掉,等没有READY状态的job时再将BURIED状态的job一次性kick回READY状态。


特性
Beanstalkd基于的源码安装和使用很简单,在此略过。这里重点介绍一下其几个很nice的特性。

优先级
支持0到2**32的优先级,值越小,优先级越高,默认优先级为1024。

持久化
可以通过binlog将job及其状态记录到文件里面,在Beanstalkd下次启动时可以通过读取binlog来恢复之前的job及状态。

分布式容错
分布式设计和Memcached类似,beanstalkd各个server之间并不知道彼此的存在,都是通过client来实现分布式以及根据tube名称去特定server获取job。

超时控制
为了防止某个consumer长时间占用任务但不能处理的情况,Beanstalkd为reserve操作设置了timeout时间,如果该consumer不能在指定时间内完成job,job将被迁移回READY状态,供其他consumer执行。

不足
在使用中发现一个Beanstalkd尚无提供删除一个tube的操作,只能将tube的job依次删除,并让Beanstalkd来自动删除空tube。还有就是Beanstalkd不支持客户端认证机制(开发者将应用场景定位在局域网)。

相关论坛: 下载频道交流区 讨论区
立即下载

beanstalkd-1.0.tar.gz
beanstalkd-1.2.tar.gz
beanstalkd-1.3.tar.gz
beanstalkd-1.4.2.tar.gz
beanstalkd-1.4.3.tar.gz
beanstalkd-1.4.6.tar.gz
beanstalkd-1.5.tar.gz
beanstalkd-1.8.tar.gz

 Linux最新资讯更多>> 
·Evernote推进入华节奏:
·桌面操作系统 4 月最新
·Linux基金会:Linux成B
·中国联通升级HSPA+网络
·联通“随意打”论战:绝
·阿里巴巴集团30亿美元贷
·要以扫黄打非的精神进行
·内核源码,ARM架构上的
·Ubuntu 10.04版本企业云
·企业级Linux三国鼎立 与
·开源图像软件GIMP开发者
·不给Source就捣蛋?谈G
 IT最新资讯更多>> 
·大连外企500强急招java
·(内部推荐)EMC-Princ
·(内部推荐)EMC-greenpl
·页游公司招聘:运维开发
·赶集移动部门招聘前端开
·【北京】知名软件公司招
·有莫有C++ and C# and
·下班路上捡到一张工资表
·猎头代招:北京大型上市
·DSI猎头代招:华为-IP部
·上海诚聘JAVA工程师
·微软和苹果10大失败产品
·Darl McBride离开领导岗
·提升Qt的应用诺基亚即将
 综合:更多>> 
·PHP中strtotime函数使用
·五个常见 PHP数据库问题
·初探PHP单元测试利器:
·PHP开发人员容易忽略的
·逃离伪PHP程序员应该做
·大型Web应用运行时 PHP
·PHP企业级应用缓存技术
·PHP应用提速面面观
·用书签查询网站pr值
·PHP句法规则详解
·阴历-农历-转换类
·PHP定时执行任务的实现
·几种有用的变型 PHP中循
·PHP如何修改Linux或Uni
·PHP中全面阻止SQL注入式
·分享几个非常有用的PHP
·PHP面向对象法则
·优化PHP程序的方法
·orcale queue
·谁可以推荐几本经典的操
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 友情链接 | 免费注册

Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们

京ICP证041476号