Search code examples
rabbitmqamqp

Can I do reliable send and forget on RabbitMQ?


I want to send messages from a client computer to a consumer on a server computer over an unreliable connection. In my program I don't want to worry about the connection, just say "send message" and forget about it, knowing that it will be delivered whenever the connection is availaible.

In ActiveMQ I can acheive this by installing an ActiveMQ broker on client and server and connecting them together. From my program I send the messages to a queue on the ActiveMQ broker on the client computer. The consumer program connects to the ActiveMQ broker on the server computer and ActiveMQ does the rest.

I'm evaluating RabbitMQ and would like to know whether RabbitMQ can do something similar? I don't want to have to manage checking for return messages in case of failed delivery etc. I just want it to take the message and forward/deliver the thing whenever it can.


Solution

  • You can certainly do this with RabbitMQ. If you want to use the same model as what you described with ActiveMQ (installing brokers on both your client and server machines) then install the two brokers and connect them using the RabbitMQ shovel plugin. That plugin shunts traffic from broker to broker, and will give you the behavior you're seeking.