rabbitmq怎么实现消息队列 (rabbitmq消息队列从入门到精通)

概述

RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发。RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用,具体特性还在验证中,待检验。

由于项目需要,我在云上安装并配置了RabbitMQ,其中服务器操作系统是CentOS7.3,服务器是公司自己的云环境。下面介绍下安装部署的过程,配置yum源为前提,这里不多做介绍。

1、安装gcc依赖包

# yum install -y gcc*

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景

2、安装其他依赖包

# yum install -y ncurses-devel openssl-devel unixODBC-devel

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景

看到complete就代表安装成功了。

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景

3、上传安装包

Erlang*载下**地址为:http://www.erlang.org/downloads,

rabbitmq*载下**地址为:http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15

这里我把文件otp_src_20.3.tar.gz.filepart、rabbitmq-server-generic-unix-3.6.15.tar.xz传到/data目录。

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景

4、编译安装

# tar -xvf otp_src_20.3.tar.gz

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景

# cd otp_src_20.3/
# ./configure --prefix=/usr/local/erlang --without-javac

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景

# make && make install

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景

5、配置环境变量

# vim /etc/profile
#增加以下内容,路径自己定义
export PATH=$PATH:/usr/local/erlang/bin:/usr/local/rabbitmq/sbin

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景

使环境变量生效:

# source /etc/profile

6、启动rabbitMQ服务

# rabbitmq-server

启动过程如下:

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景

查看监听是否启动:

[root@ZL-FSL-MQ data]# netstat -lntup|grep -E "5672|25672|15672" 

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景

7、开启Web管理界面

# rabbitmq-plugins enable rabbitmq_management

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景

查看监听

[root@ZL-FSL-MQ data]# netstat -lntup|grep -E "5672|25672|15672"

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景

8、添加用户

默认网页是不允许访问的,需要增加一个用户修改一下权限:

# rabbitmqctl add_user fsl fsl
Creating user "fsl"
# rabbitmqctl set_user_tags fsl administrator
Setting tags for user "fsl" to [administrator]
# rabbitmqctl set_permissions -p / fsl ".*" ".*" ".*"

配置后就可以远程访问了。

9、测试验证

访问服务器IP:15672地址测试

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景

登录后查看界面

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景

后面会分享更多devops和DBA方面的干货,感兴趣的朋友可以关注一下~

rabbitmq消息队列怎么使用,消息队列rabbitmq的使用场景