There is nothing wrong with the design you proposed.
A slight wrinkle is that enforcing “real-time requirements” is not easy. For example, it is currently not possible to expire messages in a queue, so when using messages, they must be processed by clients.
The total message size in RabbitMQ <= 1,8,1 was limited by the amount of RAM available. Starting with version 2.0.0, it is limited by the amount of available disk space (i.e., Rabbit will print messages to disk if it works with low memory capacity). Individual message sizes are recorded as 32-bit integers (IIRC), so individual messages cannot exceed ~ 4 GB; if this is a problem, consider storing JSON in NAS and passing them some identifiers in messages. In addition, there are no restrictions.
source share