本章基于博主上一篇文章:springboot+Rabit实战一:(Rabbit MQ windows 环境搭建)继续深入,介绍rabbit MQ web界面管理操作
一:先了解Rabbit MQ 中一些基础概念:
Broker:简单来说就是消息队列服务器实体。
Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列,用于收集消息(相当于快递仓库,根据快递地址进行快递分发到快递营业点)
Queue:消息队列载体,每个消息都会被投入到一个或多个队列,用于消息存放(相当于快递营业网点,主要是存放快递)
Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。
Routing Key:路由关键字,exchange根据这个关键字进行消息投递(
一定要注意,之前网上一个介绍没有人具体写这个routingKey 是以什么进行路由的(走了弯路),笔者之前一直以为是消息中的内容,是否包含routing key 规则,从而进行转发。然而routingkey 路由的是队列的名字,根据队列命名,然后根据routingkey 进行匹配,转发给哪个队列
)
vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。
producer:消息生产者,就是投递消息的程序。
consumer:消息消费者,就是接受消息的程序。
channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。
二:登录管理界面,进行用户管理:
登录地址:
http://localhost:15672/
之前上一篇文章有说先进行用户的创建,大家如果没有创建用户,请看这边
springboot+Rabit实战一:(Rabbit MQ windows 环境搭建)
然后可以在这个界面进行登录
然后在admin 菜单中进行权限配置:
如下图进行新建操作:
如果新建用户没有访问
vhost(虚拟主机)的权限,那么需要设置一下,如下图:
操作之后 就可以看到有权限了,如下图,表示该用户有权限访问虚拟机了。
三:队列的创建:
队列主要用于存放数据的载体,消息发送方Provider ,消息接收方Customer ,都可以进行对队列数据的publish(放入)和get(取出),队列中最简单的模型设计 可以是这个样子的:
Provider 往队列A中放入数据
Customer 从队列A中取出数据
整体操作不需要经过exchange(交换机进行路由)。
具体创建队列操作如下:
四:交换机(exchange)的创建:
创建交换机前,先把交换机中的一些概念说明一下:具体请看笔本另一文:
开始创建exchange:
这样子,exchange 就算是创建好了。
五:交换机与队列的绑定设置(也就是
Binding 操作):
先解释一下,为什么交换机需要与队列绑定,在本文的三中有介绍队列最简单的用法,消息提供者在队列a中放入消息,消息消费者在队列a中取出消息。但这个场景只适合一些简单的场景 ,如果有很多的逻辑,最好就需要将不同的逻辑进行不同的队列命名,这个时候就需要交换机上场了,它可以处理一条消息发送所有绑定的队列,或者根据不同的路由将不同的消息转发给不同的队列,来完成一些复杂的场景。
绑定操作如下图: