今天想用RabbitMQ来进行信息的队列管理,当然除此之外还有很多消息队列,比如(kafka,memcachemq,redis list等等),下面说下为什么我选择它?
一、RabbitMQ的优点
相对其它开源产品而言,RabbitMQ还是有很多优点的:
基于erlang语言开发具有高可用高并发的优点,适合集群服务器
健壮、稳定、易用、跨平台、支持多种语言、文档齐全
有消息确认机制和持久化机制,可靠性高
二、 消息队列及使用介绍
2.1 消息队列(Message Queue)
把消息的内容放入到一个缓存区内,进行排队,程序会逐一的进行调取并处理(就好比餐厅点餐进行排队,逐一处理)
另外,还可以将较慢/较复杂的处理逻辑、有并发数量限制的处理逻辑)
2.2 使用场景
短信服务、电子邮件服务、图片处理服务、好友动态推送服务等。
三、安装使用注意事项
1、安装erlang需要等待几分钟,如果出错请查看日志分析;
2、RabbitMQ 端口
默认端口:5672
web管理器端口:15672
[root@jump ~]# netstat -lntup|grep 5672
tcp 0 0 0.0.0.0:5672 0.0.0.0:* LISTEN 27282/beam.smp
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 27282/beam.smp
3、防火墙配置
防火墙开启15672端口才能使用web管理平台,初始密码guest不安全,上线必须修改
4、RabbitMQ 【启动、停止、查看】
1)后台启动
nohup sbin/rabbitmq-server start &
2) 停止rabbitmq服务
sbin/rabbitmqctl stop
3) 查看rabbitmq服务
ps -af |grep rabbitmq
四、RabbitMQ部署过程
1,安装依赖关系所需软件包
yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc
2,安装erlang
wget http://www.erlang.org/download/otp_src_R16B01.tar.gz && ./configure --prefix=/usr/local/erlang --enable-hipe --enable-threads --enable-smp-support --enable-kernel-poll --without-javac && make && make install
3,创建软连接
ln -s /usr/local/erlang/bin/erl /usr/local/bin/erl
4,添加环境变量
cat /etc/profile
export PATH=$PATH:/usr/local/erlang/bin/
5,下载RabbitMQ 软件
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.5/rabbitmq-server-generic-unix-3.1.5.tar.gz && tar zxf rabbitmq-server-generic-unix-3.1.5.tar.gz && cd rabbitmq_server-3.1.5
#可以根据自己需要自行下载,这里我下载的是二进制的文件,解压即用
6,开启web管理器
cd 到安装目录
sbin/rabbitmq-plugins enable rabbitmq_management
7,后台启动 RabbitMQ
#第一种 :
./sbin/rabbitmq-server -detached ## 启动RabbitMQ并从shell分离
#第二种:
nohup sbin/rabbitmq-server start & ##使用nohup 使程序在后台运行
8,web登陆验证
http://服务器IP:15672/#/ #默认用户名密码 guest
到这里,rabbitmq服务端已经安装完成,要想php操作rabbitmq,还需要安装amqp扩展,参考我另篇文章
http://blog.csdn.net/nuli888/article/details/51854935
- QQ精品交流群
-
- 微信公众号
-