当前位置:   article > 正文

RabbitMQ Exchange、Queue详解,控制台的使用_rabbitmq中exchange 与 queue

rabbitmq中exchange 与 queue


 

exchange

在这里插入图片描述

 

相关参数
  • name:exchange的名称
  • type:exchange的类型,指定exchange按何种策略投递消息到queue中
  • durability:exchange中的消息是否要持久化。durable是要持久化,存储在内存中,并自动持久化到硬盘(备份),重启rabbitmq server时自动从硬盘加载数据,exchange中的消息不会丢失;transient是不支持持久化,只在内存中存储数据。Features中的D指的就是durable 持久化,没有D即不持久化。
  • auto delete:如果此exchange没有绑定任何queue,是否自动删除此exchange
  • internal:此exchange是否只在rabbitmq server内部使用。大部分交换机都要暴露出来,给消息生产者、消费者使用,只有极少数exchange(一般是自带的)是在内部使用的。Features里的I就是internal,表示只在内部使用,没有I即不是内部使用的。自带的amq.rabbitmq.trace用来跟踪rabbitmq内部的消息投递过程(exchange -> queue),只在内部使用。
  • arguments:给此exchange设置一些其它参数

rabbitmq自带了7个交换机,可以使用自带的,也可以自己新建。

第一个(AMQP default)是rabbitmq的默认交换机,未指定交换机时默认使用此交换机。此交换机没有name(空),使用此交换机时name写成空串。

 

exchange的4种类型
  • direct:直连模式,routing key要完全相同才认为匹配。
  • topic:主题订阅模式,routing key可以使用通配符,*只能匹配一级(不能包含点号),#可以匹配多级(可以包含点号)
  • fanout:广播模式,不使用routing key,直接向此exchange绑定的所有queue投递消息。不进行routing key的匹配,大大减少了时间开销,效率高。
  • headers:头部模式,不使用routing key,根据headers(请求头)中设置的规则将消息投递给指定的queue,用得较少。

 

queue

在这里插入图片描述

  • type:此queue的类型,默认为classic 主队列,也可以设置为quorum 从队列
  • name:此queue的名称
  • durability:queue中的消息是否要持久化到硬盘
  • auto delete:如果此queue没有绑定到任何一个exchange,是否自动删除此queue
  • arguments:设置一些其它参数

exchange、queue的消息持久化能力,保证了rabbitmq的高可靠性。

 

监控参数

  • Ready:queue中待投递给消费者的消息数量
  • Unacked:queue中已投递给消费者、但尚未收到ack确认的消息数量
  • Total:queue中的消息总数,即ready+unacked。queue将消息投递给消费者后,queue中仍然保留此消息,要收到ack应答后queue才会删除此消息。

 

说明

在exchange|queue的详情页,可直接投递消息到当前exchange|queue中,payload即消息的body。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/515847?site
推荐阅读
相关标签
  

闽ICP备14008679号