On Sunday, Aug 17, 2003, at 16:35 Europe/London, Jules Gosnell wrote:
Alex,
we seem to be using the same terms to mean very different things and this is leading to confusion.
I'll go first:
shared-store - many nodes storing their state in a common service.
Seems like a fairly good definition; I was using the term 'store' to imply something like a database or other external product at the back end.
Since I'm presuming that in order for this to occur, there has to be a shared-store (and will all implementations will be a shared-store) then can we come up with a name for sessions-stored-in-a-backend-system? Or is that what you mean by shared-store? (I.e. do you consider your 'replication' model to be a 'shared store' because to me, it reads like it does.)
replication - each node storing copies of it's state somewhere off-node (probably not in the same place as all the other nodes). I am suggesting that this 'other-place' is on the back of another web-container.
There's a difference between having the current state in memory, and replicating it off-node, to only loading the state into memory dynamically from a backend database. Further, the term replication is used in databases as well which could add to the confusion.
Replicated sessions sounds like a good name for this concept, though.
The implementation of the storage in either situation is not specified - I'm doing a logical design.
Affinity is load-balancing policy, which allows you to optimise caching (and possibly forget about session distribution entirely, if you can live with SPoFs), because you can predict where subsequent requests for a session will fall.
Yes, that's the general idea I had of affinity.
How do these compare to your definitions ?
Pretty well, I think; the only thing that I'm not sure is whether 'shared-store' covers your concept of 'replication' or not (since that is, by definition, a common service across nodes ...)
Once we talk the same language, we can go forward :-)
I tried to put those definititions on Wiki (or at least, what I thought they were). I'm pretty sure we've got the same ideas of concepts; if you want to edit the wiki and put '.. or Xxxx ' in the section titles then once we've got the ideas mapped to what we call them, we're in a much better position :-)
http://nagoya.apache.org/wiki/apachewiki.cgi?ApacheJ2EE/Clustering
Alex.
