我在一个队列上有8个消费者,它们中的任何一个都可以拾取消息,一旦被处理,这就会影响数据库。大多数消息都可以异步运行,但在少数消息上,我们需要停止队列消费,直到该消息被其中一个消费者完全处理。在此期间,其他7个消费者不应该从队列中消费。
有没有办法在rabbitmq中实现它,而不是做一个应用程序级别的解决方案(这可能很难实现)?
发布于 2014-02-11 12:35:53
我不知道有什么严格意义上的RabbitMQ更改来实现这一点。但是,这里有一种方法,它不需要修改任何旧代码,除了重命名生产者要将消息放入的队列之外。它确实需要编写一个新的消费者:
由于单个使用者只是转发异步消息,因此它可以快速完成,并且吞吐量应该不会有问题。
https://stackoverflow.com/questions/21679854
复制相似问题