美文网首页
Beanstalkd+Supervisor构建消息队列

Beanstalkd+Supervisor构建消息队列

作者: flycorn | 来源:发表于2016-12-13 14:50 被阅读569次
参考环境:
centos 6.5

1、Beanstalkd

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

参考链接:

Beanstalkd
Beanstalkd介绍
Beanstalkd安装

1、安装Beanstalkd

# yum install beanstalkd

2、开启Beanstalkd

》Usage: beanstalkd -l [ip address] -p [port #] 

# beanstalkd -l 127.0.0.1 -p 11301 &

如果安装包管理器(i.e. aptitude),你将能够管理Beanstalkd作为服务守护进程。

》 To start the service: 
# service beanstalkd start 

》 To stop the service: 
# service beanstalkd stop

》 To restart the service: 
# service beanstalkd restart 

》 To check the status: 
# service beanstalkd status    

2、Supervisor

C/S架构的进程控制系统,可使用户在类UNIX系统中监控、管理进程。常用于管理与某个用户或项目相关的进程。

参考链接:

Supervisor官网
参考1
参考2
参考3
参考4

1、安装Supervisor

1、安装python自动化工具
# yum install python-setuptools

2、安装supervisor
# easy_install supervisor

3、测试安装是否成功     
# echo_supervisord_conf

2、修改配置

1、创建配置文件
# mkdir -m 755 -p /etc/supervisor/
# echo_supervisord_conf > /etc/supervisor/supervisord.conf

2、编辑配置文件
在supervisord.conf最后增加如下:
[program:test]
command=/opt/soft/php/bin/php /home/m/test/app/cli.php ;被监控进程
;process_name=%(process_num)02d
;numprocs=5 ;启动几个进程
autostart=true ;随着supervisord的启动而启动
autorestart=true ;自动启动
startsecs=1 ;程序重启时候停留在runing状态的秒数
startretries=10 ;启动失败时的最多重试次数
stderr_logfile=/tmp/supervisor/test_err.log ;错误日志
stdout_logfile=/tmp/supervisor/test.log ;日志

3、启动supervisor

1、启动supervisor
# supervisord -c /etc/supervisor/supervisord.conf

# pstree -p | grep supervisord  查看supervisord进程

2、进入supervisor管理
# supervisorctl -c /etc/supervisor/supervisord.conf

status 查看状态
》test RUNNING pid 2554,uptime 0:00:10  

stop all停止
reload重启监控服务
注意:
(1)每次修改配置文件后**需进入supervisorctl,
执行reload**, 改动部分才能生效。
(2)两个命令
supervisord : 
supervisor的服务器端部分,用于supervisor启动
supervisorctl:
启动supervisor的命令行窗口,在该命令行中可执行start、stop、status、reload等操作。

错误:
Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord.

解决:
sudo unlink /tmp/supervisor.sock 
or
sudo unlink /var/run/supervisor.sock

相关文章

  • Beanstalkd+Supervisor构建消息队列

    1、Beanstalkd Beanstalkd,一个高性能、轻量级的分布式内存队列系统,最初设计的目的是想通过后台...

  • Index索引文件及构建

    Index索引文件概览 消息消费队列是RocetMQ专门为消息订阅构建的索引服务,提高主题与消息队列检索消息的速度...

  • 爬虫:4. 消息队列

    消息队列 在构建一个松耦合或是异步的系统时,消息队列是最常用的方法。在爬虫中使用消息队列有哪些好处呢? 通过消息队...

  • 消息队列的十大用途

    消息队列的十大用途 去年,我们一直在使用,构建和传播消息队列,我们认为它们很棒,这已经不是什么秘密了。我们认为消息...

  • Handler机制

    Java层 1.Looper构建了消息队列MessageQueue2.Message的成员target关联Hand...

  • Android消息系统分析

    在整个消息系统中,Java层中负责消息内容的构建,消息队列的维护与创建,消息事件回调,Native层负责控制线程的...

  • 阿里美团九年,这位Java大佬手码三大中间件学习手册,看完跪拜了

    消息队列中间件的使用并不复杂,但如果你对消息队列不熟悉,很难构建出健壮、稳定并且高性能的企业级系统,你会面临很多实...

  • DDMQ留着了解一下

    DDMQ是滴滴出行架构部基于Apache RocketMQ构建的消息队列产品。作为分布式消息中间件,DDMQ 为滴...

  • 消息队列:消息队列简介

    1. 什么是消息队列 消息队列(message queue),是一种应用程序的通信方法; 消息队列是 生产者-消费...

  • 消息中间件

    消息中间件,也可以叫做中央消息队列或者是消息队列(区别于本地消息队列,本地消息队列指的是 JVM 内实现的队列实现...

网友评论

      本文标题:Beanstalkd+Supervisor构建消息队列

      本文链接:https://www.haomeiwen.com/subject/myxbmttx.html