rabbitMQ界面功能介绍:rabbitMQ界面上的这些参数: d,ttl,dlx,dlk,state,ready,unacked,toal, imcomig,deliver,ack 都是什么意思
rabbitMQ界面上的这些参数都是什么意思?你知道吗?
d,ttl,dlx,dlk,state,ready,unacked,toal, imcomig,deliver,ack
一、http://IP:15672 进入登陆界面
二、概要界面
三、连接界面
Virtual host: 所属的虚拟主机。
Name: 名称。
User name: 使用的用户名。
State: 当前的状态,running:运行中;idle:空闲。
SSL/TLS: 是否使用ssl进行连接。
Protocol: 使用的协议。
Channels: 创建的channel的总数。
From client: 每秒发出的数据包。
To client: 每秒收到的数据包。
点击Connection Name 查看连接中的通道
四、通道界面
channel: 名称。
Virtual host: 所属的虚拟主机。
User name: 使用的用户名。
Mode: 渠道保证模式。 可以是以下之一,或者不是:C: confirm。T:transactional(事务)。
State : 当前的状态,running:运行中;idle:空闲。
Unconfirmed: 待confirm的消息总数。
Prefetch: 设置的prefetch的个数。
Unacker: 待ack的消息总数。
publish: producter pub消息的速率。
confirm: producter confirm消息的速率。
deliver/get: consumer 获取消息的速率。
ack: consumer ack消息的速率。
五、交换机页面
其中:
features的几个参数
D: 是 durable 的缩写,代表这个队列中的消息支持持久化
I: 是 internal 的缩写,表示这个exchange不可以被client用来推送消息,仅用来进行exchange之间的绑定。
Args: 是 arguments 的缩写。代表该队列配置了 arguments 参数。
TTL: 是 x-message-ttl 的缩写。设置队列中的所有消息的生存周期(统一为整个队列的所有消息设置生命周期), 也可以在发布消息的时候单独为某个消息指定剩余生存时间,单位毫秒。
DLX: 说明该队列配置了 x-dead-letter-exchange。当队列消息长度大于最大长度、或者过期的等,将从队列中删除的消息推送到指定的交换机中去而不是丢弃掉。
DLK: x-dead-letter-routing-key 的缩写,将删除的消息推送到指定交换机的指定路由键的队列中去。
六、队列界面
队列的属性
Virtual host: 所属的虚拟主机。
Name: 名称。
Features: 功能。(参数参考上述交换机页面)
State: 当前的状态,running:运行中;idle:空闲。
Ready: 待消费的消息总数。
Unacked: 待应答的消息总数。
Total: 总数 Ready+Unacked。
incoming: 消息进入的速率。
deliver/get: 消息获取的速率。
ack: 消息应答的速率。
随机点击一个队列
滑动页面到下面,会看到Get messages,点击”Ack Mode“下拉框我们会看到处理消息的4中模式,这里小名觉得是个很重要的部分,您需要继续向下看,小名会在”八、Topic模式实例实操“中给您讲解清楚。
七、Admin界面
用户属性
Name: 名称。
Tags: 角色标签,只能选取一个。
Can access virtual hosts: 允许进入的vhost。
Has password: 设置了密码。
八、Topic模式实例实操(直观理解RabbitMQ通配符!)
小名在 “RabbitMQ快速入门篇” 中提到过多次Topic模式的通配符,可能大家还没有理解透彻,这部分小名将通过Topic帮大家梳理通配符以及RabbitMq管理界面中的实操。
8.1 交换机
-
通过界面,创建好点击
topicExchange
交换机,并点击进去。 -
创建三个队列
topic.queue.a
、topic.queue.b
、topic.queue.c
捆绑topicExchange
交换机,且RoutingKey分别设置为eamon.#
、.dailyTesting.
、#.IT.#
8.2 队列
-
我们进入Queues界面,查看创建好的三个队列
-
依次查看绑定信息
8.3 开始测试(重点)
我们来重温一下前面文章说过的,RabbitMQ中通配符的规则:
通配符 | 规则 |
---|---|
.# |
0或1级又或多级 |
.* |
有且只能有1级 |
8.3.1 情景一
猜测:应该只有 queue.a 收到消息,b和c收不到消息!
看结果:
8.3.2 情景二
猜测:应该只有 queue.a 收到消息,b和c收不到消息!
看结果:
8.3.3 情景三
猜测:应该只有 queue.a收到消息,b和c收不到消息!
看结果:
我们来看下 a 收到的消息
8.3.4 情景四
猜测:应该只有 queue.a、b收到消息,c收不到消息!
看结果:
猜测正确!a、b都接到消息了!这是因为: “.# : 0或1级又或多级 ”
8.3.5 情景五
猜测:应该只有 queue.a、b、c都收到消息!
看结果:
猜测正确!a、b、c都接到消息了!
8.4 查看所有的结果
-
topic.queue.a
-
topic.queue.b
-
topic.queue.c
九、拓展应用
例如:
- c队列使用
Nack
那种方式不会消费队列中消息,所以队列中有一条消息
- c队列使用
Ack
那种方式会消费队列中消息,
所以c队列中的那一条消息被消费掉了!