重发机制死循环问题?

来源:8-5 消息发送失败的重试流程分析

慕粉3574078

2021-01-25

图片描述![图片描述]比如一条消息在定时任务中每次会被发送到RabbitMQ, 都会经历“消息确认机制”被删除,在“返回机制”中重新被持久化。 这样消息的重发次数就一直为0.不就造成1/2/3 步死循环了。 老师在一次消息发送过程中,“消息确认机制”和“消息返回机制”是只会执行其中的一个机制呢?还是两个机制都会被执行?

列表项

写回答

1回答

Moody

2021-01-26

1这个问题特别好,说明认真研究了。你说的循环问题理论上确实存在,不过在生产实践中,消息无法路由而返回的情况还是非常少的。如果你们系统里这种情况出现的概率比较高的话,建议消息返回后直接告警,因为就像你说的,返回后重发,大概率还是会返回。

2首先是消息确认,确认成功后才能判断是否需要返回,确认失败有没有后面的消息返回步骤了。

0
0

RabbitMQ精讲,提升工程实践能力,培养架构思维

消息驱动架构+订单状态机,二次开发,手写分布式事务框架。

470 学习 · 205 问题

查看课程