We are developing a grocery Point of Sale system to replace an existing legacy system. We are evaluating using RabbitMQ for sending product/price changes down to the tills.
A company may have anywhere from 1-50 stores, and each store may have 1-20 tills. Every till in the store will be receiving the same data.
There will be one central backoffice per company.
There will be a Rabbit broker at the backoffice, and at each store.
In my current design, the backoffice broker has a queue setup for each store. The backoffice server software pushes the changes to these queues.
The store broker has a fanout exchange. When a till connects to the store broker, it creates (if one does not yet exist) a durable queue.
I have setup dynamic shovels from the backoffice store queue to the store exchange. Since the till queues are all durable and the messages persistent, this should be reliable shouldn't it?
I hope I have adequately explained what I am trying to achieve. Does this seem like a decent solution? Or is there a better way?