RabbitMQ清除积压消息/管理界面出现 Unacked 消息

这篇具有很好参考价值的文章主要介绍了RabbitMQ清除积压消息/管理界面出现 Unacked 消息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.问题:
rabbitmq的生产者端循环产生了多条消息给消费者,而消费者无法及时将消息处理掉,在消费端积压了多条消息(消费失败的时候,消息队列会一直重复的发送消息,导致程序死循环)需要清理项目因为错误而产生的积压消息队列。
rabbitmq unacked消息如何处理,java-rabbitmq,rabbitmq,java

2.原因:
消息接收方因退出企业,账号已注销,企业微信报错81013,导致无法处理消息,消息积压。
3.处理办法(问题已处理,截图为示例):
(1)登录rabbitmq管理面板,点击queues标签。
(2)查看unacked列,如果>0,消息积压。

rabbitmq unacked消息如何处理,java-rabbitmq,rabbitmq,java
(3)点进name列消息积压的行。
(4)往下拉,先点击“purge message”清除队列。
rabbitmq unacked消息如何处理,java-rabbitmq,rabbitmq,java
(5)如果消息还在,点击“delete queue”删除队列。
4.附:rabbitmq 管理面板 Queues 中 features 各参数释义指南https://blog.ytso.com/251403.html

Features 功能

D:d 是 durable 的缩写,代表这个队列中的消息支持持久化。
AD:ad 是 autoDelete 的缩写。代表当前队列的最后一个消费者退订时被自动删除。注意:此时不管队列中是否还存在消息,队列都会删除。
excl:是 exclusive 的缩写。代表这是一个排他队列。如果一个队列被声明为排他队列,该队列仅对首次声明它的连接可见,并在连接断开时自动删除。这里需要注意三点:其一,排他队列是基于连接可见的,同一连接的不同信道是可以同时访问同一个连接创建的排他队列的。其二,“首次”,如果一个连接已经声明了一个排他队列,其他连接是不允许建立同名的排他队列的,这个与普通队列不同。其三,即使该队列是持久化的,一旦连接关闭或者客户端退出,该排他队列都会被自动删除的。这种队列适用于只限于一个客户端发送读取消息的应用场景。
Args:是 arguments 的缩写。代表该队列配置了 arguments 参数。
TTL:是 x-message-ttl 的缩写。设置队列中的所有消息的生存周期(统一为整个队列的所有消息设置生命周期), 也可以在发布消息的时候单独为某个消息指定剩余生存时间,单位毫秒。
Exp:Auto Expire,是 x-expires 配置的缩写。当队列在指定的时间没有被访问(consume, basicGet, queueDeclare…)就会被删除,Features=Exp。注意这里是删除队列,不是队列中的消息。
Lim:说明该队列配置了 x-max-length。限定队列的消息的最大值长度,超过指定长度将会把最早的几条删除掉。
Lim B:说明队列配置了 x-max-length-bytes。限定队列最大占用的空间大小, 一般受限于内存、磁盘的大小。
DLX:说明该队列配置了 x-dead-letter-exchange。当队列消息长度大于最大长度、或者过期的等,将从队列中删除的消息推送到指定的交换机中去而不是丢弃掉。
DLK:x-dead-letter-routing-key 的缩写,将删除的消息推送到指定交换机的指定路由键的队列中去。
Pri:x-max-priority 的缩写,优先级队列。表明该队列支持优先级,先定义最大优先级值(定义最大值一般不要太大),在发布消息的时候指定该消息的优先级, 优先级更高(数值更大的)的消息先被消费。
Ovfl:x-overflow 的缩写。队列中的消息溢出时,如何处理这些消息。要么丢弃队列头部的消息,要么拒绝接收后面生产者发送过来的所有消息。有两个配置项:drop-head,代表丢弃队列头部的消息,默认行为;reject-publish 设置队列中的消息溢出后,该队列的行为:”拒绝接收”(所有消息)。
ha-all:镜像队列。all 表示镜像到集群上的所有节点,ha-params 参数忽略。文章来源地址https://www.toymoban.com/news/detail-707719.html

到了这里,关于RabbitMQ清除积压消息/管理界面出现 Unacked 消息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手动清除RabbitMQ队列的消息缓存

           在个人的springboot项目中使用到了rabbitmq作为消息队列中间件,但是在项目的调试过程中出现了某些错误,导致rabbitmq的生产者端循环产生了多条消息给消费者,而消费者又因为该错误无法及时将消息处理掉,所以在消费端积压了多条消息;在修复了错误重启项目后

    2024年02月11日
    浏览(40)
  • RabbitMQ消息丢失、消息重复消费、消息顺序性无法保证、消息积压、一致性问题、系统可用性降低等这些常见问题怎么解决

    该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 1. 消息丢失 问题 :在生产者发送消息到MQ、MQ内部处理、消费者接收消息的任一环节都可能导致消息丢失。 解决方案 : 生产者确认机制 :确保消息

    2024年04月25日
    浏览(38)
  • RabbitMQ-ack、nack、reject、unacked

    如果队列使用的是手动ack,但在接收消息后不做任何ack处理,RabbitMQ会把消息标记为 unacked ,unacked状态的消息不会被消费,并且占用RabbirMQ资源,只有当消费者channel断开或者服务器重启,消息才会重新回到ready状态被其他消费者消费。 确认签收后,消息从队列中删除。 自动

    2024年02月15日
    浏览(38)
  • rabbitmq管理页面发送消息

    有的时候我们因为一些特殊的原因或者需要测试某个功能,需要发送mq,但是又不能直接触发消息。这种情况下,我们可以直接在mq控制台发送消息。 一、首先打开rabbitmq管理台 二、右上角选择环境,开发或者测试 三、打开Queues Tab页 四、选中某个queue,页面下拉到Publish mes

    2024年02月12日
    浏览(41)
  • RabbitMQ管理界面介绍

    connections:         无论生产者还是消费者,都需要与RabbitMQ建立连接后才可以完成消息的生产和消费,在这里可以查看连接情况 channels:         通道,建立连接后,会形成通道,消息的投递获取依赖通道。 Exchanges:         交换机,用来实现消息的路由 Queues:

    2024年02月11日
    浏览(43)
  • RabbitMQ管理界面操作详情

    该页面是RabbitMQ主界面,总共有六个选项卡: MQ的概览情况,里面包括集群各个节点的信息、端口映射信息; Totals: 准备消费的消息数、待确认的消息数、消息总数以及消息的各种处理速率(发送速率、确认速率、写入硬盘速率等等)。 Nodes: 其实就是支撑 RabbitMQ 运行的一

    2023年04月21日
    浏览(32)
  • RabbitMQ管理页面怎么发送消息

    1.登录RabbitMQ 后台管理系统 点击Queues 2.Add a new queue 创建 一个 queue (h5) 3.进入queue (h5) 4.编辑header和发送内容 5.消费者消费

    2024年02月10日
    浏览(34)
  • RabbitMQ 管理界面操作说明

    当我们安装好RabbitMQ,并开启了 rabbitmq_management 插件并重启RabbitMQ服务后,我们就可以访问管控台了。 rabbitmq_management 开启后,重启RabbitMQ服务,然后浏览器访问 http://localhost:15672/ 账号:guest 密码:guest 登录进去后: 点击队列名,可以进行消息数量的查看: 消息内容查看: A

    2023年04月17日
    浏览(50)
  • RabbitMQ(三)【管理界面及授权操作】

    上一篇文章 《RabbitMQ在Linux安装》 RabbitMQ 管理界面 默认情况下,rabbitmq是没有安装web端的客户端插件,需要安装才可以生效 说明 :rabbitmq有一个默认账号和密码: guest 默认情况下只能在localhost本机下访问,所以需要添加一个远程登陆的用户 【 注 】 如果出现了 {:query, :rabb

    2024年02月16日
    浏览(33)
  • 虚拟机中docker安装rabbitmq 宿主机不能访问rabbitmq管理界面问题解决

    1, MacOS的操作系统, 通过Vmware Fusion虚拟机软件, 安装了Centos7操作系统, 里面安装了docker engine(1.13.1); 2, 试验rabbitmq, 下载了rabbit:latest镜像 3, 通过如下命令启动rabbitmq 4, 启动之后, 在宿主机浏览器测试访问虚拟机中的rabbitmq http://192.168.88.100:15672/ 试验结果: 拒绝访问 1, 检查centos-l

    2024年02月10日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包