[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [sca-assembly] [Issue 251] Some early thoughts
A quick response to this:
On 12/14/10 12:41 AM, Anish Karmarkar wrote:
> The pub-sub model is different than this. A consumer may express
> interest in certain events, but there is absolutely no guarantee that
> an event may ever be delivered to it. Similarly, a producer may
> produce events, but there is not guarantee that any consumer is either
> listening for those events or even if a consumer is listening, it may
> decide to just drop it on the floor and not take any action based on
> that event. Furthermore, these kind of connections are meant to be
> many-to-many. As far as cardinality goes, the cardinality has to be
> wrt how many channels the producer/consumer is connected to regardless
> of how many consumer/producers are on those channels. This makes
> cardinality in pub-sub tricky. As far as cardinality upper bound goes,
> what is the difference between a consumer connected to 2 channels each
> with 5 producers and the same consumer connected to a single channel
> with 10 producers?
Seems like the above notion confuses the M-to-N relationship of
(publishers & subscribers) "attached" to a channel, with the different
scenario of attaching a producer to multiple channels. With the latter,
in the generic case, the runtime will likely need to send messages to
both channels - thus a receiving consumer will see the same message
*twice* because a producer is wired to two channels, and the consumer is
wired to the same two channels. Consequently, I see a dramatic
difference between allowing a consumer to consume from multiple
channels, and allowing both a producer and a consumer to attach to
multiple channels.
In the second case, I'm guaranteeing the ability to achieve a relatively
useless outcome - a consumer who is ("best effort", or whatever quality
of service is in use) guaranteed to receive two or more copies of the
same event.
Why?
-Eric.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]