incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Frank Zhang <Frank.Zh...@citrix.com>
Subject RE: [MERGE] merge 'events-framework' branch to master
Date Thu, 31 Jan 2013 21:33:31 GMT
> > >
> > >Sorry, I may have not made my question clear.
> > >Publisher doesn't have to be aware of consumer, but it must know the
> > >binding key.
> > >Now I reread the below statement I think I got your idea is:
> > >When subscriber subscribes an event, the framework creates the queue
> > >and notifies binding key to publisher.
> >
> > Not quite, at least in the AMQP case. Publisher need not be aware of
> > binding key also. There is explicit concept of 'routing key' and 'binding key'
> in AQMP.
> > A message is published in the exchange with a routing key.
> > Its broker responsibility to match the routing key of the message with
> > all the binding key's associated with the queues. If there is a match
> > of keys, then message is delivered into queue.
> 
> Yes, in theory the string is called as routing key when publisher uses it and as
> binding key when subscriber uses it.
> 
> Ok. I reread the thread again,  I may have done a wrong assumption that
> publisher only publishes events subscribed by some subscriber. So I say
> publisher must know binding key otherwise it doesn't know what routing key
> to use when calling basicPublish().

Hmm, actually it's not practical to publish events that only being subscribed.
This will prevent other AMQP clients that has no knowledge about CloudStack 

> 
> >>"*.*.*.VirtualMachine.9d827485-0f46-4db8-bd39-fede97cbac0c".
> Now it turns out that publisher will publish all events related to a VM no
> matter if any subscriber interested in it, am I right? In this case, publisher
> needs not to know binding key as it publishes events using predefined
> routing key.





Mime
View raw message