We have multiple consumer to handle create messages, but we want to ensure the FIFO order so if we create a product A, we must to reject the next creations of product A.
The problem is because we have several consumers to treate this type of messages it is possible to have consumer 1 that finish after consumer 2. For exemple the message 1 contains more data to be saved compared to mesage 2 for the same product.
Running RabbitMQ with multiple consumers violates FIFO principle of queue. Is there a way to avoid this with RabbitMQ or we must to orientate our architecture in a manner that the control is more Java threatement oriented ?
Thanks