问题描述
我们最近在 PROD 中收到了多个消息丢失问题。
在调查此类问题后,我们得出的结论是
-
发布者正在使用消息传递框架组件向 RabbitMQ 发送消息
-
我们已经看到只有一些消息被发布到 RabbitMQ 队列中,并且通过在发送消息之前和发送消息之后监视 message_stats 中的“publish”和“deliver”字段,我们看到了使用 RabbitMQ 队列 REST API 的相同情况消息。
在最近的一个用例中,如果说发送了 28 条消息,则“发布”和“交付”使累积值仅增加了 20 条,并且丢失了 8 条消息。
在消息传递框架中实现的日志记录也证实了这一行为。消息传递框架记录了 28 条传入消息的日志记录,而接收端的后处理器仅记录了 20 条消息的日志记录。
- 由于我们使用 Spring AMQP 来发布消息,因此在消息传递框架中,我们无法进一步调试 Spring AMQP 和 RabbitMQ 之间的问题。
还有一个观察结果,我们重新启动了应用程序,它在一个特定用例中解决了一次问题,我们可以在发送方和接收方接收所有消息的日志记录。
在这里需要一些建议。此外,最近我们在 PROD 中推出了暂停少数配置,无需发布确认。会不会是消息丢失的原因。尽管如此,我们将进一步调查日志。
这里的任何帮助都是有益的
问候,
Apoorv
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)