• RabbitMQ-网页使用消息队列


    1.使用消息队列

    几种模式
    在这里插入图片描述
    从最简单的开始
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    添加完新的虚拟机可以看到,当前admin用户的主机访问权限中新增的刚添加的环境
    在这里插入图片描述

    1.1查看交换机

    在这里插入图片描述
    交换机列表中自动新增了刚创建好的虚拟主机相关的预设交换机。一共7个。前面两个 direct类型的交换机,一个是(AMQP default)还有一个是amq.direct,它们都是直连式的交换机。
    先看第一个交换机:
    在这里插入图片描述
    在这里插入图片描述

    第一个交换机是所有虚拟主机都会自带的一个默认交换机,并且此交换机不可删除,此交换机默认绑定到所有的消息队列,如果是通过默认交换机发送消息,那么会根据消息的 routingkey(相当于网络中的ip) (之后我们发消息都会指定)决定发送给哪个同名的消息队列,同时也不能显示地将消息队列绑定或解绑到此交换机。
    我们可以看到,详细信息中,当前交换机特性是持久化(druable:true)的,也就是说就算机器重启,那么此交换机也会保留,如果不是持久化,那么旦重启就会消失。实际上我们在列表中看到 D 的字样,就表示此交换机是持久化的,包含一会我们要讲解的消息队列列表也是这样,所有自动生成的交换机都是持久化的。

    然后查看第二个交换机,这个交换机是一个普通的直连交换机:
    在这里插入图片描述

    这个交换机和我们刚刚介绍的默认交换机类型一致,并且也是持久化的,但是我们可以看到它是具有绑定关系的,如果没有指定的消息队列绑定到此交换机上,那么这个交换机无法正常将信息存放到指定的消息队列中,也是根据 routingkey 寻找消息队列(但是可以自定义)

    1.2 查看消息队列

    1.2.1 创建队列

    可以看到下方图中没有任何的消息队列,可以尝试在下方添加一个新的消息队列
    在这里插入图片描述

    第一行,选择刚刚创建好的虚拟主机,在这个虚拟主机下创建此消息队列,接着我们将其类型定义为 CLassic 类型,也就是经典类型(其他类型我们会在后面逐步介绍)名称随便起一个,然后持久化我们选择 Transient 暂时的(当然也可以持久化,看你自己)自动删除我们选择 No需要至少有一个消费者连接到这个队列,之后,一旦所有与这个队列连接的消费者都断开时,就会自动删除此队列)最下面的参数我们暂时不进行任何设置 (之后会用到)

    创建好的队列
    在这里插入图片描述
    点击队列名称可查看详细信息,详细信息包括队列的当前负载状态、属性、消息队列占用的内存、消息数量等。
    在这里插入图片描述

    1.2.2 创建的队列绑定交换机

    然后将当前消息队列绑定到上边的第二个直连交换机,这样就可以通过此交换机向此消息队列发送信息了 (即给第二个交换机(amp.direct)发送消息,由它将消息给到yyds队列中:
    在这里插入图片描述
    绑定之后
    在这里插入图片描述

    1.2.3 模拟发送消息

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    再次点击yyds名称,发现队列多了一条数据
    在这里插入图片描述

    1.2.4 在消息队列这边直接获取队列的消息

    找到下方的get message选项:
    在这里插入图片描述

    可以看到三个选项,首先是Ack Mode,这个是应答模式选择,共有四个选项

    在这里插入图片描述

    Nack message requeue true: 拒绝消息,也就是说不会将消息从消息队列取出,并且重新排队,一次可以拒绝多个消息。
    Ack message requeue false: 确认应答,确认后消息会从消息队列中移除,一次可以确认多个消息。
    Reject message requeue true/false: 也是拒绝此消息,但是可以指定是否重新排队。

    在这里插入图片描述

    可以查看取出的消息

    在这里插入图片描述

    此时消息队列还有一条消息

    在这里插入图片描述

    尝试使用第二个选项,然后点击get message

    在这里插入图片描述
    在这里插入图片描述

    发现队列没有消息了

    在这里插入图片描述

    1.2.5 再去第一个默认交换机尝试发送消息

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    routing key 改为yyds进行发布

    在这里插入图片描述
    在这里插入图片描述

    发布成功

    在这里插入图片描述

    进入消息队列查看消息

    在这里插入图片描述

    在这里插入图片描述

    因此第一个交换机和第二个交互机发布消息时的区别:第一个交换机是根据队列的名称判断的,第二个交换机是根据队列指定的routing key判断的
    在这里插入图片描述
    点击名称进入详情查看routing key
    在这里插入图片描述

    1.2.6 删除或情况队列

    点击队列名称进行详情
    在这里插入图片描述

  • 相关阅读:
    建模的常用手段:组合和聚合
    驾驶证识别易语言代码
    【修复版】2023新版塔罗 算八字测运易理风水 取名 源码平台 搭建教程
    基于YOLOv5[n/s/m/l/x]全系列参数模型开发构建小麦麦穗智能化精准检测识别计数系统
    【自然语言处理】面向新冠肺炎的社会计算应用
    重新认识下JVM级别的本地缓存框架Guava Cache(2)——深入解读其容量限制与数据淘汰策略
    java反序列化基础
    Hbuilder运行到浏览器里为啥空白?
    对于await阻塞的理解
    插上u盘显示格式化怎么办?
  • 原文地址:https://blog.csdn.net/weixin_43917045/article/details/133526223