[Spread-users] newbie question(s)
cgnicholas at alamedanet.net
cgnicholas at alamedanet.net
Thu Mar 1 00:06:20 EST 2007
> Spread doesn't implement persistent messages.
Fair enough; certain systems are optimized for performance and
scalability; i.e. the game of basketball doesn't really worry about
players visiting their lockers during a 'pick', nor the game of football
during a screen, etc. play
> Basically, each daemon holds one global in-memory queue of messages that
can't yet be delivered due to sequence number gaps or some other
condition that prevents guarantees from
> being met.
*one* global queue? at what granularity are the locks?
> Additionally, each daemon holds a queue for each of its local clients of
messages that have been "delivered," but that haven't yet been written
to the mailbox (socket) for that client.
(I guess not a single global, but multiple, etc locks...?) We are looking
at an http/poll case, where things might queue (and build up...) for a
while, and never get drained... At some point the spread connection (from
the client side) will get torn down
> The per-client queues have a maximum size limit, after which the client
> will be cut off... Spread requires that applications implement their own
flow
> control.
Again, within an http case, things might accumulate for a while, and then
the connection gets dropped.
> Once a client disconnects, its queue is eliminated by the daemon
> it was connected to.
good/excellent/necessary
> Note that leaving a group doesn't immediately clear the queue of messages
> delivered to that client because of that group... receipt of a
> "self-leave"
> message tells the client when it has cleared the remaining messages and
> officially been removed from the group with respect to the ordering
> guarantees. If I recall, join and leave events are treated as AGREED
> messages.
>
hmmm - are these nuances exposed via the Java interface?
>>b) How long do spread groups remain "alive" on a server if nobody is
>> sending or receiving?
> They don't. When the last member is removed (see the above discussion of
> ordering), they disappear.
good/excellent
>
>
>> c) what should I be asking that I'm not?
> Good question. Lots of people ask about their particular network
> configuration (how many daemons, overall scalability issues). You might
> want to ask about the performance implications of having huge numbers of
> groups active at once,
actually, it's a 'sparse' matrix: conceptually lots of groups (i.e. we
recompiled for a groupname of 32-64 characters) but practically a much
smaller subset at any one time
> I recommend that you use the very latest version of Spread
will do!
>> thanks in advance!
and thanks again!!!
Chris
More information about the Spread-users
mailing list