On 15.04.2015 10:48, YuvalP wrote:
> Hi,
Hi!
> I am trying to design a replay mechanism that will enable users to
> replay messages from the queues.
> The best design I have come up for an exchange that contains multiple
> queues and multiple consumers is:
>
> 1. Create a recorder service that will:
>
> * Create a queue and bind all routing keys to it.
> * Consume all messages from the exchange.
> * Save all messages to the DB.
Maybe you can leverage on the firehose feature:
https://www.rabbitmq.com/firehose.html
> 1. Was I making sense here?
Yes
> 2. Am I inventing the wheel? Is there a rabbit inherent solution? plugin?
I am not aware of any plugins doing this.
> 3. Does creating multiple exchanges considered a good practice?
Yes, there is no problem with multiple exchanges. Internally, they take
a bit of memory, but they are just "routing rules" which are eval'd in
the context of the channel process (the one talking to your client).
There is no dedicated process(es) for them.
--
Jean-Sébastien Pédron
Pivotal / RabbitMQ