我正在运行一个服务(多个实例)来使用easynetQ在RabbitMQ中消费消息。
我想检查消息是否已经被接收到实例1,如果它不能在实例1中处理,实例1应该使用该消息,并且它应该入队。因此,它应该被instance 2使用,并尝试处理消息。我在考虑手动确认这条消息。
有没有可能使用EasyNetQ来实现这一点?或任何替代解决方案?
发布于 2020-02-22 22:19:46
这更多的是关于RabbitMQ拓扑是如何设计和配置的问题,它独立于您使用的客户端框架。
如果你有多个消费者,消费同一队列中的消息,那么默认情况下,他们会以循环方式获取消息。
在您的情况下,正如您所说的,如果Instance1无法处理消息,它应该对消息进行nack,在这种情况下,消息将进入队列,并将传递到下一个实例。
https://stackoverflow.com/questions/60316265
复制相似问题