我正在使用rabbitmq在我的服务中发送消息。假设有2个微服务A和B.
还有3个交换,各自的队列介于两者之间。
A是发布商,B是此处的消费者。从A发送消息时,它在队列中成功更新(能够在控制台队列中看到增加)。但是消费者无法接收消息。以前它工作。
但对于其他交换和队列,消费者工作正常。
我尝试清除队列并重新启动应用程序,没有帮助我。队列中总有4个未缓存的消息,其余的准备就绪。最后我删除了队列和交换以及相应的路由密钥并重新创建了相同的内容。然后一切正常......
任何人都可以帮我解决这件事。为什么它不起作用?
答案 0 :(得分:0)
有时当消息处理发生故障时,如果我们抛出错误。它停留在那里所以进入无限循环(queue-> processing - > queue> .....)如果方法保持抛出错误。
对于所有队列中的其他消息,通过增加批量并发性,我们可以执行另一个。但是,如果有人停止了消费者的话,那将只会发出消息。
现在我有一个问题可以设置限制重试以进行非堆叠消息处理。如果有人知道它,那么可以在这里提供帮助。