RabbitMQ single message per user possible?

4/5/2019

Brand new to rabbitMQ but considering using it as a queuing mechanism in GKE. I have a question that is probably pretty easy.

Is there a way to only process a single message from a user (GUID in my application) at a given time (even if I have multiple workers). Essentially, I have some upstream 3rd parties that POST to one of my endpoints duplicate messages. I can confirm if there is already a duplicate document POSTed if I work syncronously (per user). The issue arises if I have multiple worker nodes processing separate messages for the same user at the same time.

Is this possible in RabbitMQ? Is there a recommended way to handle this? Thank you very much.

-- mornindew
google-kubernetes-engine
queue
rabbitmq

1 Answer

4/5/2019

This isn't possible with multiple workers consuming from the same queue. Either have a single worker, ensure that processing messages is idempotent, or coordinate between your workers.


NOTE: the RabbitMQ team monitors the rabbitmq-users mailing list and only sometimes answers questions on StackOverflow.

-- Luke Bakken
Source: StackOverflow