Shai,

I don't fully understand what you're proposing, and I want to make sure I do.  It kind 
of sounds like you're saying that the web server would be configured to point to a 
single TC instance, and that that instance would then do load-balancing (and could 
also have enough information to send that request to the right place after a server 
failed).

Is that right?  If so, I don't think I can support that, because we're then making 
that "master" TC instance a single point of failure.

The current load-balancing code in mod_jk will balance among several containers, and, 
if one of them dies, it will a) stop sending requests to that one and then b) after 60 
seconds, will try to reopen a connection.  If a servlet container dies while in the 
middle of handling a request, the web server thread which triggered that request will 
hang up on the TCP connection until it times out.  I think the rest of the web server 
should go on happily serving requests (assuming that it's got other containers to talk 
to).

Adding packet types to ajp13:  Unfortunately, ajp13 currently doesn't handle unknown 
packet types.  So adding new packets would throw off current installations (if they 
were using an "old" ajp13 web server with a "new" ajp13 container).  I think this does 
merit a new protocol number, since people are, I believe, using ajp13 in production 
environments.  If we do create an ajp14, we should specify a way to handle unknown 
packet types, so that we can make life easier on ourselves in the future.

-Dan

p.s. I get a little confused when you refer to things as "server-side" and 
"client-side" with regards to mod_jk.  I've been trying to use "web server" and either 
"servlet container" or "Tomcat".

> THE NEW IDEA is, assuming all of what I have stated above is working. We can
> take apache out of the picture.
> HOW COME? I can point the load-balancing switch to the tomcat themselves.
> Each tomcat will forward requests based on sessionID (we will need to move
> mod_jk client side to into tomcat. Dan, would you like to take that?) is the
> exist to the right tomcat (if there's no sessionID - will create one
> locally). If Tomcat can't connect to master, it will forward the request to
> the buddy.
> 
> Basically, I'm working on the replication protocol. I can make it
> stand-alone or put it into mod_jk (server side). If someone willing to write
> mod_jk client side into http connector, it will allow getting apache out of
> the picture.

Dan Milstein // [EMAIL PROTECTED]

Reply via email to