beanstalkd

来源:互联网 发布:公司网络时断时续 编辑:程序博客网 时间:2024/06/02 16:57

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就看相关版本协议 1.9的官网协议https://github.com/kr/beanstalkd/blob/v1.9/doc/protocol.txt

如果自己懒得写API就用已经写好的

https://github.com/kr/beanstalkd/wiki/client-libraries

很多已经写好的API


正好有这个的相关文章

  • PHP: beanstalk - minimalistic
Iteye:http://in355hz.iteye.com/blog/1395727


我们运行可以简单跑下测试


yum install -y php wget unzipwget https://codeload.github.com/davidpersson/beanstalk/zip/mastermv master master.zipunzip master.zipcd beanstalk-master/tests/vim  bench.php   //后10000改成10 保存退出vim run.php


代码如下

<?phprequire_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

0 0