美文网首页
消息队列-RabbitMQ-安装和基本操作

消息队列-RabbitMQ-安装和基本操作

作者: GeekerLou | 来源:发表于2020-06-21 22:27 被阅读0次

安装

RabbitMQ的安装有多种安装方式,安装的难易程度也不相同,主要的安装方式有如下几种:

  • 通过Docker镜像安装
  • 通过可执行文件安装
  • 购买云服务上的RabbitMQ服务

根据使用场景和目的的不同,选择的依据如下:

  • 如果是出于个人学习和测试的目的,推荐使用Docker镜像的安装方式,简单快捷,分分钟搞定。
  • 如果是生产环境使用的话,出于安全、稳定性、可运维的角度考虑,推荐购买阿里云云服务商提供的消息队列RabbitMQ版

Docker镜像方式安装

1、获取镜像

#指定版本,该版本包含了web控制页面
docker pull rabbitmq:management

2、运行镜像
这里推荐采用了第二种启动方式,可以可以自定义用户名和密码,一定程度上增强了访问的安全性。

#方式一:默认guest 用户,密码也是 guest
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management

#方式二:设置用户名和密码(推荐),示例中用户名和密码均为admin
docker run -d --hostname my-rabbit --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management

说明:

  • -d 后台运行容器;
  • --name 指定容器名;
  • -p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
  • -v 映射目录或文件;
  • --hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
  • -e指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)

可执行文件安装

这里以centos操作系统下安装RabbitMQ为例,其他例如Windows操作系统比较非主流,就不再介绍了,需要的话可以参考网上的其他资料。

安装erlang环境

首先在打开/etc/yum.repos.d/rabbitmq-erlang.repo,注意手动创建rabbitmq-erlang.repo。

在rabbitmq-erlang.repo输入以下内容,保存,然后执行yum install erlang命令。

[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1

然后输入erl,提示已经可以了。

安装RabbitMq

打开RabbitMQ下载地址

image.png ,根据系统选择要下载的版本。
#下载rabbitmq的rpm
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-3.7.15-1.el7.noarch.rpm

yum install rabbitmq-server-3.7.15-1.el7.noarch.rpm

#完成后启动服务:
service rabbitmq-server start

#可以查看服务状态:
service rabbitmq-server status

二、常见操作

RabbitMQ提供了通过命令行操作和页面操作两种便捷的管理队列服务的方式,下面分别予以介绍。

2.1 命令行操作

启动和停止服务

  • 启动监控管理器:rabbitmq-plugins enable rabbitmq_management
  • 关闭监控管理器:rabbitmq-plugins disable rabbitmq_management
  • 启动rabbitmq:rabbitmq-service start
  • 关闭rabbitmq:rabbitmq-service stop

查询队列

  • 查看所有的队列:rabbitmqctl list_queues
  • 清除所有的队列:rabbitmqctl reset

关闭应用:rabbitmqctl stop_app
启动应用:rabbitmqctl start_app

用户和权限设置

  • 添加用户:rabbitmqctl add_user username password
  • 分配角色:rabbitmqctl set_user_tags username administrator
  • 新增虚拟主机:rabbitmqctl add_vhost vhost_name
  • 将新虚拟主机授权给新用户:rabbitmqctl set_permissions -p vhost_name username '.' '.' '.*'

2.2 页面操作

在本地的浏览器中输入并访问如下的地址:http://localhost:15672/
在登录页输入先前设置的用户名和密码:admin/admin

image.png

登录之后,是可以看到一个简单后台管理界面的。在这个界面里面我们可以做些什么?

可以手动创建虚拟host,创建用户,分配权限,创建交换机,创建队列等等,还有查看队列消息,消费效率,推送效率等等。


image.png

切换到【Queues】Tab页,找到【Add a new queue】,Name一栏填写【test-queue】表示一个测试队列名,其他采用默认设置,输入完成后点击【Add queue】按钮,此时在【All queues】列表中将展示刚才新增的队列【test-queue】。


image.png

切换到【Exchanges】Tab页,找到【Add a new exchange】,Name一栏输入【test-exchange】表示一个测试的交换器,其他采用默认设置,输入完成后点击【Add queue】按钮,此时在【All exchanges】列表中将展示刚才新增的交换器【test-exchange】。


image.png

点击新增的【test-exchange】,找到【Bindings】,点击下拉小三角,找到【Add bingding from this exchange】,模式选择默认的【To queue】,这样后面的输入框输入的就是队列名,这里我们输入先前创建好的队列【test-queue】,设置路由键Routing key为red。

image.png

添加完成之后,在【Bingdings】栏目下会展示已经添加的绑定关系列表,图中表示的含义为当前的exchange到队列test-queue的routing key是red,后面的【Unbind】按钮是解除当前的Exchange与test-queue的绑定关系。


image.png

此时我们构建的交换器与队列的绑定关系如下图所示:


image.png

接下来我们测试一下消息发送。还在当前页面,找到【Publish messages】,点击小三角按钮,展开后,填写Routing key【blue】,payload填写【wrong message】,填写完成之后点击【Publish message】按钮,由于没有路由键,提示消息发布成功,但是没有被路由。


image.png

接着我们再次填写Routing key【red】,payload填写【right message】,填写完成之后点击【Publish message】按钮,提示消息发送成功。


image.png

再次切换到【Queue】Tab页,在【All queue】中展示了所有队列的列表,点击我们创建的队列【test-queue】。


image.png

没有消费者


image.png

从queue的视角展现了与交换器【test-exchange】的绑定关系


image.png

点击【Get messages】的小三角,修改Messages后的输入框中的数字为3,它表示获取未被消息的消息,从最早的一条消息开始展示。


image.png

我们发送的测试消息比较多,这个的第三条消息才是我们最新发送的那一条。


image.png

参考资料

  1. 5分钟入门RabbitMQ

相关文章

网友评论

      本文标题:消息队列-RabbitMQ-安装和基本操作

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