beanstalkd的安装
Beanstalkd,一个高性能、轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟,支持过有9.5 million用户的Facebook Causes应用。
wget https://github.com/downloads/kr/beanstalkd/beanstalkd-1.6.tar.gz
tar -xzvf beanstalkd-1.6.tar.gz
make && make install
安装php扩展
git clone https://github.com/nil-zhang/php-beanstalk.git
git clone https://github.com/bergundy/libbeanstalkclient.git
先安装libbeanstalkclient,然后继续php扩展安装
cd php-beanstalk
phpize
./configure
make && make install
python客户端安装
git clone https://github.com/earl/beanstalkc.git
cd beanstalk
python setup.py install
在运行时如果报:Failed to load PyYAML, will not parse YAML
则需要安装python的依赖组件:pip install pyyaml 进行安装
Beanstalkd设计里面的核心概念:
- job
一个需要异步处理的任务,是Beanstalkd中的基本单元,需要放在一个tube中。
- tube
一个有名的任务队列,用来存储统一类型的job,是producer和consumer操作的对象。
- producer
Job的生产者,通过put命令来将一个job放到一个tube中。
- consumer
Job的消费者,通过reserve/release/bury/delete命令来获取job或改变job的状态。