On May 7, 2010, at 1:16 PM, Smith, Mark wrote:

> I'm trying to re-architect our websites to work in EC2.  One of the biggest 
> problems I'm running into is the dynamic nature of hostnames and IPs.

I have the same problem on a VMware vSphere-based virtual private cloud...

> Is there a way to tell mod_jk that it has a new worker on a new hostname 
> without having to reload Apache?  Similarly, to remove an existing worker 
> that has gone away, or just to change the hostname of a worker.   I'm 
> picturing an API on the status worker, or something similar.
> 
> I don't want to just rewrite workers.properties and do a reload because we 
> have several long uploads happening at any given time that get interrupted.  
> Reload/graceful works most of the time, but occasionally locks up the entire 
> Apache instance, which is no good.
> 
> I can't imagine we're the first to run into this problem, but I've done a lot 
> of looking and can't find anything other than "rewrite workers.properties and 
> reload Apache."

Reconfig/reload is essentially what I'm doing too, though I use mod_proxy_ajp 
rather than mod_jk.

But the annoying thing is that you're absolutely right you're not the first and 
it's frustrating knowing it'll be a while until enough developers have a handle 
on cloud architectures to make meaningful contributions to projects to address 
these fundamental problems.

I'm having to write a lot of stuff myself because almost no software out there 
that's designed to run web applications addresses the real needs of 
heterogenous instances of servers that need to work together in a very 
loosely-coupled and dynamic environment. Tomcat and Apache both have serious 
shortcomings when it comes to cloud architectures. They're getting better 
(slowly), but it'll still be a year or more before there's a critical mass of 
software and experience that make deploying into the hybrid cloud easier.

At the bare minimum, I wish the Apache load balancer had a REST API that could 
add and remove balancer members on the fly, like what you've mentioned above. 
This single thing would solve the VAST majority of my load balancer problems. 
To be honest, I'm seriously looking at using ipchains or something to do NAT on 
the box and cut out Apache entirely. Or even writing my own proxy server from 
scratch. I hate that I keep coming back to that so often lately. I just get 
frustrated, throw up my hands, and resign myself to simply doing it myself. I 
lamented on this very topic yesterday to The 451 Group when we talked about 
cloud architectures etc...

Sort of related: I just put some serious updates into my vcloud session manager 
that uses RabbitMQ to do non-multicast session "clustering" in a cloud 
environment, which is the next problem I had to tackle after getting past my 
load balancer... :)

http://github.com/jbrisbin/vcloud/tree/master/session-manager/

Jon Brisbin
Portal Webmaster
NPC International, Inc.


> 
> Current versions:
> - Base system: RedHat EL4 (though we are not using their TomCat)
> - Apache: v2.0.63 (grabbed RedHat's EL4 2.0.52 SRPM and up-ported it to 
> 2.0.63, and added a couple patches of our own for various security reasons.)
> - tomcat-connectors: v1.2.25
> - tomcat: v5.5.17
> 
> I'm certainly willing to consider alternate versions if they'll get me the 
> functionality I'm looking for.
> 
> Thanks in advance for your help.
> 
> -Mark
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to