RabbitMQ-网页使用消息队列

1.使用消息队列

几种模式
RabbitMQ-网页使用消息队列_第1张图片
从最简单的开始
RabbitMQ-网页使用消息队列_第2张图片
RabbitMQ-网页使用消息队列_第3张图片
RabbitMQ-网页使用消息队列_第4张图片
RabbitMQ-网页使用消息队列_第5张图片

添加完新的虚拟机可以看到,当前admin用户的主机访问权限中新增的刚添加的环境
RabbitMQ-网页使用消息队列_第6张图片

1.1查看交换机

RabbitMQ-网页使用消息队列_第7张图片
交换机列表中自动新增了刚创建好的虚拟主机相关的预设交换机。一共7个。前面两个 direct类型的交换机,一个是(AMQP default)还有一个是amq.direct,它们都是直连式的交换机。
先看第一个交换机:
RabbitMQ-网页使用消息队列_第8张图片
RabbitMQ-网页使用消息队列_第9张图片

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

然后查看第二个交换机,这个交换机是一个普通的直连交换机:
RabbitMQ-网页使用消息队列_第10张图片

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

1.2 查看消息队列

1.2.1 创建队列

可以看到下方图中没有任何的消息队列,可以尝试在下方添加一个新的消息队列
RabbitMQ-网页使用消息队列_第11张图片

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

创建好的队列
RabbitMQ-网页使用消息队列_第12张图片
点击队列名称可查看详细信息,详细信息包括队列的当前负载状态、属性、消息队列占用的内存、消息数量等。
RabbitMQ-网页使用消息队列_第13张图片

1.2.2 创建的队列绑定交换机

然后将当前消息队列绑定到上边的第二个直连交换机,这样就可以通过此交换机向此消息队列发送信息了 (即给第二个交换机(amp.direct)发送消息,由它将消息给到yyds队列中:
RabbitMQ-网页使用消息队列_第14张图片
绑定之后
RabbitMQ-网页使用消息队列_第15张图片

1.2.3 模拟发送消息

RabbitMQ-网页使用消息队列_第16张图片

RabbitMQ-网页使用消息队列_第17张图片
RabbitMQ-网页使用消息队列_第18张图片
再次点击yyds名称,发现队列多了一条数据
RabbitMQ-网页使用消息队列_第19张图片

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

找到下方的get message选项:
RabbitMQ-网页使用消息队列_第20张图片

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

RabbitMQ-网页使用消息队列_第21张图片

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

RabbitMQ-网页使用消息队列_第22张图片

可以查看取出的消息

RabbitMQ-网页使用消息队列_第23张图片

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

RabbitMQ-网页使用消息队列_第24张图片

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

RabbitMQ-网页使用消息队列_第25张图片
RabbitMQ-网页使用消息队列_第26张图片

发现队列没有消息了

RabbitMQ-网页使用消息队列_第27张图片

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

RabbitMQ-网页使用消息队列_第28张图片
RabbitMQ-网页使用消息队列_第29张图片
RabbitMQ-网页使用消息队列_第30张图片

routing key 改为yyds进行发布

RabbitMQ-网页使用消息队列_第31张图片
RabbitMQ-网页使用消息队列_第32张图片

发布成功

RabbitMQ-网页使用消息队列_第33张图片

进入消息队列查看消息

RabbitMQ-网页使用消息队列_第34张图片

RabbitMQ-网页使用消息队列_第35张图片

因此第一个交换机和第二个交互机发布消息时的区别:第一个交换机是根据队列的名称判断的,第二个交换机是根据队列指定的routing key判断的
RabbitMQ-网页使用消息队列_第36张图片
点击名称进入详情查看routing key
RabbitMQ-网页使用消息队列_第37张图片

1.2.6 删除或情况队列

点击队列名称进行详情
RabbitMQ-网页使用消息队列_第38张图片

你可能感兴趣的:(RabbitMQ,rabbitmq,分布式)