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

发布于:2024-07-08 ⋅ 阅读:(42) ⋅ 点赞:(0)

目录

1、RabbitMQ的安装

2、RabbitMQ基本介绍

3、简单案例

4、数据隔离


1、RabbitMQ的安装

  • 官网链接:rabbitmq官网  (官网很详细,也可以在官网学习啦~)
    • 基础入门:
    • 自主学习:
    • 最新版本:
  • 安装我们是采取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建立连接的,在这里面进行连接操作
      • 通道:发消息使用的通道(例如你妈打电话叫你回家吃饭,这个手机就是一个通道)
      • 交换机、队列:文章下面会有解释
      • 管理员:就是一些用户管理相关的一些操作~

2、RabbitMQ基本介绍

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

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

结合图来理解:

上图的解释:

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

3、简单案例

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

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

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

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

报错了:

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

        解决:

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

小结:

  • 交换机和队列绑定后才可以发消息,交换机不能存储消息,只能路由和转发消息

4、数据隔离

4.1、添加虚拟主机

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


网站公告

今日签到

点亮在社区的每一天
去签到