To summarize, I see the following issues needing to be considered
and resolved for distributed sessions:

- Management of session ID/request redirection,
- Architecture of Manager/Store/Cluster interfaces.

I made a few points on the architectural front in my previous post.

For request/ID management, the issues are:
a) What happens to incoming requests to control which instance of 
    Catalina gets each request?
b) How do we manage the session ID when a session is handled
    by different Catalina instances?

Ideally "something" in front will manage incoming requests, ensuring
that a client is always sent to the same Catalina instance if possible,
choosing an alternative instance if not. 

Assuming this front-end exists, it ought to ensure that the second
Catalina instance knows which session ID to use for the client.

So what can this front end be? 
It could be something we provide, as Craig has suggested. What
if a web server connector is used? Will we need our load balancer
to sit in front of the web servers, or can we take advantage of the
connectors somehow? Do the connectors use any load balancing
and/or dead server detection which may affect us?

It could also be a third-party load balancer device (e.g. a router,
etc.). I'm aware that many (most? all?) of these will try to keep
a client on the same server instance. But are there any that do
not? Are they a significant market presence that Catalina should
be able to handle them without trying to defeat them by imposing
a custom load balancer/request redirector?

Also, what happens to a client using URL rewriting for the session
ID? I suppose we will need to modify HttpServletRequest.encodeURL()
to ensure ID's are encoded correctly in distributed applications.
Our own request redirector can use the encoded session ID to
direct requests to the right Catalina instance. What about connectors?

I would like to have a better understanding of these issues, and
what people believe are the best ways to approach them. Comments,
suggestions, criticisms, questions?

Kief

Reply via email to