In our application, we add and delete queues once in a while; each queue is for one customer; this happens as new customers come and old customers go,
We have about 1K queues. In the past, we would get all the queues via RabbitMQ api periodically, but we found getting the queues take a heavy toll on the RabbitMQ cluster's performance and so we switched to using rabbitmq-event-exchange to detect new queues and add consumers to new queues automatically.
However, we found once in a while we would not receive new queue events and thus we would not have consumers for the requests from new customers.
We use RabbitMQ 3.7.4 and Erlang 20.3.
My questions are:
is rabbitmq-event-exchange reliable?
if not, how can be compensated for it using RabbitMQ's other features.
Here are some context:
- We have a cluster of 3 nodes
- Each cluster has about 15 virtual hosts
- Each host has about 1K queues