[rabbitmq-discuss] Passing null for 'arguments' to queueBind()

Matthias Radestock matthias at rabbitmq.com
Wed Nov 10 08:15:06 GMT 2010


Matthias Radestock wrote:
> I can think of three ways of doing that with RabbitMQ...
> 
> 1) The publisher sends the message N times to a direct exchange, each 
> time with an individual security token as the routing key. Consumers 
> bind to that direct exchange with their token. (You could also just use 
> the default exchange, if the consumer's queues are named with their 
> token). The downside of this approach is the cost of having to send (and 
> for the server to process) the same message multiple times.
> 
> 2) Write a custom exchange type plug-in. This could work exactly like a 
> headers exchange but not permit empty bindings. Or it could work more 
> like a direct exchange, with the producer perhaps listing the tokens in 
> the message's routing key, comma-separated.
> 
> 3) Write a proxy that prevents empty bindings.

There is a problem with all of the above approaches...any routing key / 
header included in the message will be passed to *all* consumers, thus 
allowing consumers to learn each other's secrets.

Back to the drawing board...


Matthias.


More information about the rabbitmq-discuss mailing list