beanstalkd是一个轻量级消息中间件
支持过有9.5 百万用户的Facebook Causes应用
Beanstalkd和RabbitMQ关系,就好比Nginx和Apache,Varnish和Squid
消息列队思想
一般任务处理方式
beanstalk流程
安装:
centos安装beanstalkd
我们可以看见官网一句话 你能在epel中找到beanstalk
http://kr.github.io/beanstalkd/download.html
我们先安装epel
rpm -ivh http://mirror.digitalnova.at/epel/6/i386/epel-release-6-8.noarch.rpm
如果上面链接失效可以自己找个可用的
http://mirrors.fedoraproject.org/publiclist/EPEL/
yum install beanstalkd
开机启动
chkconfig beanstalkd on
如果供外部调用 就关闭防火墙或设置下端口
service iptables stop
service beanstalkd start
查看相关信息
如果自己懒得写API就用已经写好的
https://github.com/kr/beanstalkd/wiki/client-libraries
很多已经写好的API
正好有这个的相关文章
我们运行可以简单跑下测试
yum install -y php wget unzip wget https://codeload.github.com/davidpersson/beanstalk/zip/master mv master master.zip unzip master.zip cd beanstalk-master/tests/ vim bench.php //后10000改成10 保存退出 vim run.php
代码如下
<?php require_once ‘../src/Socket/Beanstalk.php‘; $beanstalk = new Socket_Beanstalk(); while (true) { $job = $beanstalk->reserve(); file_put_contents(‘log‘,@file_get_contents(‘log‘)."\n".$job[‘id‘].‘:‘.$job[‘body‘]); $beanstalk->delete($job[‘id‘]); } ?>
运行 php bench.php
运行 php run.php 因为无限循环 我们 ctrl+c
运行vim
log
vim log 我们会看到如下内容(我这里做过一次测试所以id从11开始)
其他相关链接
官网:http://kr.github.io/beanstalkd/
阿里博客:http://csrd.aliapp.com/?p=1201
开源中国:http://my.oschina.net/u/698121/blog/157092
百科:http://baike.baidu.com/view/2742094.htm
原文:http://blog.csdn.net/starparker/article/details/24150207