开源的消息队列系统很多如erlang开发的rabbitmq,java开发的activemq,redis的list也可以实现,workerman也有消息队列
我们项目用的是rabbitmq,它的优点
1、基于erlang语言开发具有高可用高并发的优点,适合集群服务器
2、健壮、稳定、易用、跨平台、支持多种语言、文档齐全
3、有消息确认机制和持久化机制,可靠性高
消息队列(Message Queue):把消息按照产生的次序加入队列,而由另外的处理程序/模块将其从队列中取出,并加以处理;从而形成了一个基本的消息队列。使用消息队列可以很好地将任务以异步的方式进行处理,或者进行数据传送和存储等。例如,当你频繁地向数据库中插入数据、频繁地向搜索引擎提交数据,就可采取消息队列来异步插入。另外,还可以将较慢/较复杂的处理逻辑、有并发数量限制的处理逻辑,通过消息队列放在后台处理。
常规的使用场景:短信服务、电子邮件服务、图片处理服务、好友动态推送服务等。
注意事项:
1、安装erlang处最耗时间,也容易出错,具体问题当时也找
2、防火墙开启15672端口才能使用web管理平台,初始密码guest不安全,上线必须修改
3、后台启动 sbin/rabbitmq-server start -detached
停止rabbitmq服务
sbin/rabbitmqctl stop
查看rabbitmq服务
ps -af |grep 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
先下载erlang
wget http://www.erlang.org/download/otp_src_R16B01.tar.gz