【发布时间】:2020-02-22 22:19:45
【问题描述】:
我正在运行一项服务(多个实例)以使用 EasynetQ 在 RabbitMQ 中消费消息。
我想检查消息是否已经被实例 1 接收,如果它不能在实例 1 中处理,实例 1 应该使用该消息并且它应该入队。所以它应该被实例2消费并尝试处理消息。我正在考虑手动确认消息。
是否有可能使用 EasyNetQ 实现这一目标?或任何替代解决方案?
【问题讨论】:
标签: asp.net-core rabbitmq easynetq
我正在运行一项服务(多个实例)以使用 EasynetQ 在 RabbitMQ 中消费消息。
我想检查消息是否已经被实例 1 接收,如果它不能在实例 1 中处理,实例 1 应该使用该消息并且它应该入队。所以它应该被实例2消费并尝试处理消息。我正在考虑手动确认消息。
是否有可能使用 EasyNetQ 实现这一目标?或任何替代解决方案?
【问题讨论】:
标签: asp.net-core rabbitmq easynetq
这更多是关于如何设计和配置 RabbitMQ 拓扑的问题,并且它独立于您使用的客户端框架。
如果你有多个消费者,从同一个队列消费消息,他们默认以循环方式获取消息。
在您所说的情况下,如果 Instance1 无法处理消息,它应该取消消息,在这种情况下,消息将被排队并被传递到下一个实例。
【讨论】: