场景:

消费端日志控制台报如下错误:

2022-11-25 13:18:29.354 ERROR 13368 --- [.15.178.36:5672] o.s.a.r.c.CachingConnectionFactory       :1575 - Channel shutdown: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - delivery acknowledgement on channel 5 timed out. Timeout value used: 1800000 ms. This timeout value can be configured, see consumers doc guide to learn more, class-id=0, method-id=0)

分析:

1、rabbitmq开启手动确认模式之后,但是在消费消息之后没有确认导致
2、消息确认超时的间隔太短导致

解决:

1、在消费端消费后,无论消费正常还是异常,都要ack确认

channel.basicAck(deliveryTag, false);
或
channel.basicNack(deliveryTag, false, false);
或
channel.basicReject(deliveryTag, false);

2、在 rabbitmq 服务端的配置文件中,禁用或配置更长的超时时间

配置超时间隔

【1】进入 rabbitmq 容器,cd 到 /etc/rabbitmq/ 目录

// 进入rabbitmq容器
docker exec -ti rabbitmq bash//进入配置文件目录
cd /etc/rabbitmq/

【2】编辑 rabbitmq.conf 文件,如果没有此文件请创建名为 rabbitmq.conf 文件

touch rabbitmq.confvim rabbitmq.conf

【3】把 consumer_timeout 属性加入文件中,值(单位毫秒)设置更长一些,默认30分钟

consumer_timeout = 1800000

禁用确认超时(不建议这样做)

1、编辑 rabbitmq.conf 文件,在文件中添加如下内容

%% advanced.config
[{rabbit, [{consumer_timeout, undefined}]}
].

参考官方介绍:https://www.rabbitmq.com/consumers.html#acknowledgement-timeout

RabbitMQ消费端报:delivery acknowledgement on channel 5 timed out. Timeout value used: 1800000 ms. This t相关推荐

  1. RabbitMQ pika错误处理 delivery acknowledgement on channel 1 timed out

    AMQPChannelError 异常捕获信息: (406, 'PRECONDITION_FAILED - delivery acknowledgement on channel 1 timed ou ...

  2. RabbitMQ消费端停止问题

    RabbitMQ消费端过段时间会停止消费,为了解决这个问题: 可以在消费端的首页添加计时器进行刷新操作,这样消费端就可以一直工作. <script type="text/javascr ...

  3. rabbitmq.“消费端确认收到”和“推送者确认”(2)

    消费端确认模式和数据安全性 当向消费者发送消息时,要考虑消息是否被处理(至少是否被消费者接收到).因为想app,connection等都可能失败,这是基于数据安全的考虑.协议提供了一种机制,当消费者连 ...

  4. 消息中间件--RabbitMQ --- 消费端限流 -- 非常重要

    什么是消费端的·限流? 假设一个场景,首先,我们Rabbitmq服务器有上万条未处理的消息,我们随便打开一个消费者客户端,会出现下面的情况: 巨量的消息瞬间全部推送过来,但是我们单个客户端无法同时处理 ...

  5. 面试官:说说RabbitMQ 消费端限流、TTL、死信队列

    欢迎关注方志朋的博客,回复"666"获面试宝典 1. 为什么要对消费端限流 假设一个场景,首先,我们 Rabbitmq 服务器积压了有上万条未处理的消息,我们随便打开一个消费者客户 ...

  6. RabbitMQ(七):RabbitMQ 消费端限流、TTL、死信队列是什么?

    消费端限流 1. 为什么要对消费端限流 假设一个场景,首先,我们 Rabbitmq 服务器积压了有上万条未处理的消息,我们随便打开一个消费者客户端,会出现这样情况: 巨量的消息瞬间全部推送过来,但是我 ...

  7. RabbitMQ 消费端限流、TTL、死信队列

    目录 消费端限流 1. 为什么要对消费端限流 2.限流的 api 讲解 3.如何对消费端进行限流 TTL 1.消息的 TTL 2.队列的 TTL 死信队列 实现死信队列步骤 总结 消费端限流 1. 为 ...

  8. rabbitmq 消费端代码获取队列名称_C#调用RabbitMQ实现消息队列的示例代码

    前言 我在刚接触使用中间件的时候,发现,中间件的使用并不是最难的,反而是中间件的下载,安装,配置才是最难的. 所以,这篇文章我们从头开始学习RabbitMq,真正的从头开始. 关于消息队列 其实消息队 ...

  9. Rabbitmq专题:rabbitmq消费端如何做限流?

    文章目录 1. 什么是消费端的限流? 2. 解决方案 3. 代码示例 1. 什么是消费端的限流? 场景:在订单高峰期,rabbitmq上已经堆积了很多消息等待消费,如果没有任何限流措施,贸然启动一个消 ...

最新文章

  1. SpringCloud入门[转]
  2. django的母板系统
  3. 限时秒杀┃月销10000+件,风靡全国的steam科学实验套装
  4. Linux 命令之 loginctl -- 查看系统当前登录的用户
  5. Ubuntu系统手动安装英伟达驱动程序
  6. (1)webpack介绍
  7. 周鸿祎:数字孪生时代 网络攻击影响力更甚核弹
  8. win10下安装pytorch,torchvision遇到的bug
  9. lato字体可以商用吗_Google Fonts最受欢迎25款,免版权字体
  10. VS2015卸载经过
  11. F2FS文件系统一 设计背景及框架结构
  12. Kettle使用 js 文件生成节假日表文件 附带2019-2020节假日文件
  13. 页面添加蒙版,但是不影响页面其他事件响应
  14. 四川省巴中市谷歌高清卫星地图下载
  15. 电子基础知识:测判三极管的口诀
  16. Python基础刻意练习:字典与集合
  17. 关于电脑网络显示红叉的解决方法
  18. Penetration_Testing_POC-About 渗透测试有关的POC、EXP、脚本、提权、小工具等
  19. Thinkbook14G2ITL笔记本重装系统遇到的问题?
  20. wdcp v2.5.15 php版本,wdcp_v2.5.15(20150826) 如何开启 多 SSL 站点!

热门文章

  1. AUTOJS利用百度OCR识别找字点击 详细代码
  2. Opencv进行人脸检测(第三版改进)
  3. tfs 修改服务器路径,TFS更改服务器密码
  4. 计算机软件实习项目三 —— 超级玛丽闯迷宫 (代码实现) 12-21
  5. spring boot项目多个配置文件的profiles.active读取优先级
  6. hdoj4648(Magic Pen 6)(前缀和)
  7. 云朵左右移动上下漂浮
  8. 模仿游戏中台词计算机,《模仿游戏》经典台词大全
  9. 游戏建模中3DMax的那些神技巧
  10. 计算机专业的研究热点,计算思维研究热点及趋势