On 15/02/14 21:55, Robbie Gemmell wrote:
[snip]

In terms of a 'topic', this needs to be something that supports the
semantics of the pub-sub model, but there are a number of ways to achieve
that. We currently have brokers that have models containing 'exchanges'
that have been used for that historically (in confunction with queues) and
so that is still the case, but utilising that model for 1.0 can require
some unecessary hoop jumping (e.g exchanges are made to route messages to
queues for consumers to receive, meanting that 'receiving from an exchange'
can necessitate creation of temporary subscription queues to give the
requested semantics) so going forward there is scope for alternative
behaviours allowed by the 1.0 model. E.g one could represent a topic as a
'special' queue which only drops messages once all the consumers have
passed it.

Robbie
[snip]

I'd agree with your comment that in 1.0 there are multiple ways to skin the "topic" cat - indeed as illustrated by the use of Message Selectors to address Clive's earlier use case, which is somewhat analogous to what you describe above. However I'd hope that going forward any "alternative behaviours" would be in addition to the current ones.

I can see the appeal of a "'special' queue which only drops messages once all the consumers have passed it. " but from my parochial perspective my most common use cases involve shared subscription queues that do *not* autodelete. In other words when a consumer (a logical consumer scaled across multiple hosts hence the shared queue) has subscribed it continues to be interested in messages even if it happens to go away for a while and in the current implementation messages build up on the subscription queue which can be retrieved when the consumer comes back online.

In your example above you could achieve a similar thing with say a large circular queue, but with every message delivered onto said queue if you get a mixture of fast and slow producers it's quite possible that the messages from the slow producer take a disproportionate hit.

The plus side of your approach is that absolute message order of the producers gets preserved, which is potentially useful.

So I think that there are advantages to both but definitely wouldn't want to lose the existing semantics.

Cheers,
Frase



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to