[rabbitmq-discuss] Key based access control
simon at rabbitmq.com
Thu May 2 16:37:30 BST 2013
On 02/05/13 16:19, Dmitry Andrianov wrote:
> My concerns are:
> 1. How will it work if we have say a million exchanges on a RabbitMQ
> server? Or even a few millions.
A few million is definitely a lot - the database records for all of them
have to live in memory. But note that that is true of bindings and
queues as well. An exchange is no more expensive than a binding, and
less expensive than a queue (exception: federated exchanges).
> 2. To distribute the load we could use multiple RabbitMQ server without
> building a cluster.
> (Producers can be coded so they know to which RabbitMQ instance given
> client is connected).
> But it looks to me that exchange is a persistent entity - it won't cease
> to exist even when client goes away
> and its queue is destroyed. So if a client will be switching between our
> brokers, it will create same
> exchange on every one and eventually all servers will have full
> collection of exchanges. So it is not very scalable.
> Is there any way to automatically destroy unused exchanges?
Yes; set the exchange's autodelete field to true. Then the exchange will
delete itself when the last queue is unbound from it.
> Or is it actually possible to verify how exactly a client binds to a
> exchange in the auth backend or other plugin?
I'm afraid not.
More information about the rabbitmq-discuss