社区
Java
帖子详情
rabbitmq ack消息阻塞
小郭不背锅
2018-10-31 07:14:37
问题:在消费者消费队列中的消息时,在handleDelivery中的代码没有被执行(为了测试是否是代码的问题,只保留了system.out.println语句)。 代码:设置消费者是手动确认,并且限制同时处理消息为1条。 因为在地铁上,没有贴代码。 我很困惑为什么消费者只是打印消息,都没有办法消费。
...全文
414
1
打赏
收藏
rabbitmq ack消息阻塞
问题:在消费者消费队列中的消息时,在handleDelivery中的代码没有被执行(为了测试是否是代码的问题,只保留了system.out.println语句)。 代码:设置消费者是手动确认,并且限制同时处理消息为1条。 因为在地铁上,没有贴代码。 我很困惑为什么消费者只是打印消息,都没有办法消费。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
十八道胡同
2018-11-01
打赏
举报
回复
看下是这个问题导致的吗?
https://tieba.baidu.com/p/5637772862?red_tag=1258864176
rabbitmq
ack
与n
ack
导致的队列
消息
堵塞以及死循环问题
ack
机制
ack
分为自动
ack
和手动
ack
两种 如果是自动
ack
,有两个弊端: MQ broker只需要确认
消息
发送成功,无需等待应答就会丢弃
消息
,这样导致如果消费者客户端还未处理完
消息
,出现异常或者断电时
消息
丢失的后果。 自动
ack
没有qos控制,可能消费者客户端因为瞬间收到太多
消息
导致服务挂掉 所以,常用的是手动
ack
应答 手动
ack
一般手动
ack
处理业务的逻辑如下: try { ...
SpringBoot
RabbitMQ
ACK
机制
SpringBoot
RabbitMQ
ACK
机制 Rabbit
ACK
机制流程图 实现步骤 application.yml 配置 spring:
rabbitmq
: host: localhost port: 5672 username: guest password: guest # publisher-confirms和publisher-r...
RabbitMQ
之
消息
确认机制
ACK
RabbitMQ
之
消息
确认机制
ACK
rabbitMq
重复
ack
导致
消息
队列堵塞
1.问题排查 做活动需求,用到
rabbitMq
接受上游业务的订单
消息
;上线一个月之后线上mq突发
消息
队列堵塞;查看consumer日志,发现服务已经2天没有消费,诡异的是所有的consumer使用的同一个exchange,但只有这条队列堵塞,到测试环境手动发
消息
,正常消费,无法复现。重启线上服务器,consumer开始消费,但是没过多久,都停止消费了。之后反复查看代码,代码中其中一个分支存在重复
ack
的可能,翻看文档发现 之后查看
消息
堵塞时服务器error日志, 的确有chann...
RabbitMQ
消息
确认(
ACK
)模拟
RabbitMQ
消息
确认(
ACK
)机制 一、概念 在MQ接受
消息
处理过程中,消费者进程在处理
消息
时发生异常,那么这条
消息
就没有完成消费,数据就会丢失,为了确保数据不会丢失,
RabbitMQ
支持
消息
确认-
ACK
ACK
机制是在消费者进程从
RabbitMQ
收到
消息
处理完成后,反馈给
RabbitMQ
,
RabbitMQ
收到反馈后才能将此
消息
从队列中删除。如果出现消费者服务器或者进程宕机,没有及时反馈
ACK
,那么
RabbitMQ
就不会将
消息
删除,并重新返回队列。 但是如果出现业务逻辑出错,也就是忘记或者逻辑错
Java
50,535
社区成员
85,618
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章