I want to use mod_proxy_balancer to load balance over a set of ports that potentially have Tomcats running on them.

Unfortunately there will generally be a good number of ports where no Tomcat is running. Every 'retry' seconds I have a request that takes about an extra second for each Tomcat-less port, which is not acceptable.

Has there been any thought or effort to provide an option to retry dead/unresponsive members in a periodic background thread instead of with normal, "live" requests? I am currently very interested in adding such an option if none exists, so I'd appreciate any thoughts on the matter.

I also need to support the mod_jk-based IIS/Tomcat connector in the same scenario, but have not yet investigated how this will work out. Thoughts would be appreciated here as well.

If mod_jk would work better than mod_proxy_ajp this presents me with a couple of issues:

  1. The ability that mod_proxy_ajp has to queue/backlog requests when
     all workers are busy rather than returning an immediate 503 is
     highly desirable here.
  2. As an integrated part of Apache, mod_proxy_ajp is in many respects
     the future here and I'd rather improve mod_proxy_ajp and/or
     mod_proxy_balancer than deal with mod_jk across all the platforms
     I have to worry about (various UNIXes and Windows).

Also, yes, I know that I could enable status workers and have each Tomcat notify Apache that it is alive and present. That's interesting, but adds end-administrator complexity in that Tomcat must be configured with an appropriate URL for Apache, access to the status worker must be protected via further configuration based on the hosts of the target Tomcats, Tomcat must know if it is being served via mod_proxy_ajp or the IIS/Tomcat connector, etc. Further if Apache must be taken down it will lose track of which members are alive. If other approaches truly seem untenable I can consider this further, but it currently does not seem as attractive.

Finally, if this should be addressed to the Apache dev list instead, please let me know. I'm avoiding the temptation to cross-post here :-)

--
Jess Holle

Reply via email to