RabbitMQ快速入门 - 图像化界面的简单操作

admin2024-07-07  11

目录

1、RabbitMQ的安装

2、RabbitMQ基本介绍

3、简单案例

4、数据隔离


1、RabbitMQ的安装

  • 官网链接:rabbitmq官网  (官网很详细,也可以在官网学习啦~)
    • 基础入门:RabbitMQ快速入门 - 图像化界面的简单操作,第1张
    • 自主学习:RabbitMQ快速入门 - 图像化界面的简单操作,第2张
    • 最新版本:RabbitMQ快速入门 - 图像化界面的简单操作,第3张
  • 安装我们是采取docker安装~
    • 安装命令:
      docker run -d --name mq \
       --restart=always \
       -e RABBITMQ_DEFAULT_USER=root \
       -e RABBITMQ_DEFAULT_PASS=1111 \
       -v ~/env/rabbitmq/lib:/var/lib/rabbitmq \
       -v ~/env/rabbitmq/log:/var/log/rabbitmq \
       -p 15672:15672 \
       -p 5672:5672 \
       rabbitmq:3.8-management
    • 命令解释:
      • docker run :创建并运行容器 ; -d:后台运行容器 ;
      • name:给容器起的名字; restart = always容器一直运行着
      • -e:是设置环境变量;第一个-e后面是设置了一个用户名root;第二个-e后面是设置了一个密码1111
      • -v:数据卷挂载;就是把rabbitmq下的目录映射到本机目录下的某个问题;
      • -p:端口映射;15672:控制台端口 - 图形化界面;5672:消息通信的端口
      • 最后一行是镜像名及版本号 (docker听不懂的可以去看我的docker专栏~)
    •  检查是否启动成功:
      • docker ps:RabbitMQ快速入门 - 图像化界面的简单操作,第4张
      • 浏览器访问:RabbitMQ快速入门 - 图像化界面的简单操作,第5张
        • 上述使用你命令中设置的用户名和密码进行登录就可以了~ 登陆成功后的页面:RabbitMQ快速入门 - 图像化界面的简单操作,第6张
    • 图形化界面解释:RabbitMQ快速入门 - 图像化界面的简单操作,第7张
      • 总览:就是大致的一些基本情况,后面遇到了在解释(其实很多字面意思大家都能理解什么意思)
      • 连接:发消息的人和收消息的人都是需要和rabbitmq建立连接的,在这里面进行连接操作
      • 通道:发消息使用的通道(例如你妈打电话叫你回家吃饭,这个手机就是一个通道)
      • 交换机、队列:文章下面会有解释
      • 管理员:就是一些用户管理相关的一些操作~

2、RabbitMQ基本介绍

 RabbitMQ的整体架构及核心概念:

  • publisher:消息发送者
  • consumer:消息的消费者
  • queue:队列、存储消息
  • exchange:交换机,负责路由消息
  • virtual-host:虚拟主机,起到数据隔离的作用

结合图来理解:

RabbitMQ快速入门 - 图像化界面的简单操作,第8张

上图的解释:

  • 消息发送者不是直接把消息塞到队列中,而是先把消息发到交换机,由交换机把消息路由到队列中;
  • 由上图可以发现交换机可以只路由给一个队列,也可以路由给所有队列;
  • 消费者监听队列,就可以拿到消息了~
  • RabbitMQ的服务端(消息代理)就包括了交换机和队列两部分 ~
  • 虚拟主机怎么理解:RabbitMQ的并发量很高,就可以支持多个项目都在同一套RabbitMQ服务下,但这么多项目中的交换机和队列就可能会有冲突,为了解决这种冲突就提出了数据隔离,类似于一个数据库服务器下有多个Database,各个Database间是数据隔离的~

3、简单案例

 需求:在RabbitMQ的控制台(浏览器上的图形化界面)完成以下操作:

  •  新建队列hello.q1和hello.q2
  • 向默认的amp.fanout交换机发送一条消息
  • 查看消息是否到达hello.q1和hello.q2

步骤一:新建队列hello.q1和hello.q2

RabbitMQ快速入门 - 图像化界面的简单操作,第9张

步骤二:向默认的amp.fanout交换机发送一条消息

RabbitMQ快速入门 - 图像化界面的简单操作,第10张

RabbitMQ快速入门 - 图像化界面的简单操作,第11张

报错了:RabbitMQ快速入门 - 图像化界面的简单操作,第12张

        报错原因:消息发送了,但是没有路由~ 回顾我们前面说的,消息发送者把消息发给交换机,交换机把消息路由到队列中,所以报错就是我们没有配置这个路由呢~

        解决:

RabbitMQ快速入门 - 图像化界面的简单操作,第13张

然后我们再去发送消息,绑定了的队列就可以收到消息了,如下:

RabbitMQ快速入门 - 图像化界面的简单操作,第14张

RabbitMQ快速入门 - 图像化界面的简单操作,第15张

RabbitMQ快速入门 - 图像化界面的简单操作,第16张

RabbitMQ快速入门 - 图像化界面的简单操作,第17张


4、数据隔离

4.1、添加虚拟主机

前面提到了虚拟主机(类似于数据库中的Database),如何添加虚拟主机?操作如下:

RabbitMQ快速入门 - 图像化界面的简单操作,第18张

RabbitMQ快速入门 - 图像化界面的简单操作,第19张

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!