[rabbitmq-discuss] Message routing

John Watson JWatson at sis.tv
Wed Nov 28 16:07:56 GMT 2007


 
Martin wrote:
> I would probably implement this in a following way:
>
> 1. I would separate messages into different exchanges. Each exchange
would correspond to  > a service customer can buy. The producer
application creates the exchanges on the 
> startup. When client buys a service, he gets access to the
corresponding exchange.
>
> 2. Client application creates its own queue and binds to desired
exchange (of course only 
> if the service was bought already, otherwise it should get access
error) with any routing 
> criteria. These criteria can be changed afterwards using Queue.Bind
and Queue.Unbind 
> commands.

Interesting.....  I think I'm beginning to get the picture, but I'm
still not completely happy.  Suppose you have 500 different exchanges
necessary to manage this. Your producer application does (what I'd call
the administration job) of creating the exchanges and is now busy
routing messages to all the different exchanges.  A customer contacts us
and says he wants to get message type 'D' in addition to messages 'A',
'B' and 'C' that he had before.  Maybe there's already an exchange with
this profile, maybe not.

The 'admin' task now is firstly (maybe) to create the new exchange and
secondly to reconfigure the customer appl to point to a new exchange.
The first task requires the producer program to be stopped,
reconfigured, and restarted.  The second requires us to contact the
customer.

(At the moment we manage this sort of thing with our IBM Websphere MQ
network simply by reconfiguring the 'broking' rules - the customer stays
attached to the same queue and does not need to be contacted, and we
don't need necessarily to bounce the broker.)

Cheers

John

*************************************************************
Satellite Information Services Limited Registered Office: 
17 Corsham Street London N1 6DR, Company No. 4243307

The information in this e-mail (which includes any files
transmitted with it) is confidential and is intended for the
addressee only. Unauthorised recipients are required to
maintain confidentiality.  If you have received this e-mail
in error please notify the sender immediately, destroy any
copies and delete it from your computer system. 
*************************************************************





More information about the rabbitmq-discuss mailing list