Thanks for your two cents Luca, they are a pretty smart idea on how to load balance thing in a expert way, however this is not a reality when you work for a company that a thinking line as "do more with less", they wont give me an extra nic for load balancing neither a third server... my constraint is: make servera do the balancing among servera itself and serverb. At a first sight I tought "what the heck?" since my small and insignifcant knowledge on architecture tell me that it stinks and its not a good practice, but since they pay for the food I eat and for the girls I hook up, lets do the way then want and in the future when they discover that it was not a good practice i will tell them: "i told ya"



*Thiago Locatelli da Silva*
/Analista de Sistemas/
/SIC - TDI - Tecnologia em Desenvolvimento de Interfaces/

*DÍGITRO TECNOLOGIA*
*E-mail:* thiago.si...@digitro.com.br <mailto:thiago.si...@digitro.com.br>
*Fone:* +55 48 3281-7000* Ramal:* 7726
*Fax:* +55 48 3281-7299
*Site:* www.digitro.com <http://www.digitro.com>

/"Antes de imprimir, pense na sua responsabilidade e no seu compromisso com o meio ambiente"/

Esta mensagem, incluindo seus anexos, é reservada somente à Dígitro e ao destinatário da mensagem. Caso você tenha recebido esta mensagem por engano, queira por favor, retorná-la ao remetente e apagá-la de seus arquivos.



Luca Gervasi escreveu:
On Fri, 2010-08-27 at 09:17 -0300, Thiago Locatelli da Silva wrote:
Hello list! :)

Here at work I was asked to give a try on load balancing two tomcat servers running tomcat 6.0.29. The problem is that I was given only two servers to do this, what gave me only one option: run the apache in one of these servers. So I decided to put the apache httpd server which is going to balance the load among the two tomcat server in the Server A (suppousing I have server A and B running linux). My application which needs to be balanced has "/agent" context.

Everytime I access the URL http://servera/agent my request is redirect either to http://servera:8080/agent or http://serverb:8080/agent. To my understanding, with load balancing, my url would remain http://servera/agent and the redirect would take place behing the scene and I would never see any redirect to tomcat connector port (8080). By the way, i am running the load balancing with mod_proxy in the apache server and my configuration is as follow:

=============================================================

ProxyPass /balancer-manager !
ProxyPass /status !
ProxyStatus On
ProxyRequests Off

<Location /balancer-manager>
    SetHandler balancer-manager
    Order Deny,Allow
    Deny from all
Allow from localhost </Location>

<Location /status>
    SetHandler server-status
    Order Deny,Allow
    Deny from all
    Allow from all
</Location>

<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

<Proxy balancer://cluster>
BalancerMember http://servera:8080/agent/ route=worker0 keepalive=On loadfactor=1 BalancerMember http://serverb:8080/agent/ route=worker1 keepalive=On loadfactor=1 ProxySet lbmethod=byrequests maxattempts=3 stickysession=JSESSIONID|jsessionid
</Proxy>

<Location /agent>
    ProxyPass balancer://cluster/ stickysession=JSESSIONID
    ProxyPassReverse balancer://cluster/
</Location>

=============================================================

Not happy with this scenario, i decided to install the apache httpd server in my laptop and made it as my load balancer instead of using servera to load balance. For my surprise, it worked out of the box with no extra configuration other than the one set up in my servera. I see no redirects to 8080 tomcat's port, due to my overall tests i could see only my desired url: http//localhost/agent (since i was running my tests with apache installed locally).

So my question is: does it make sense to have the load balancer in the same server as one of the balanced server/application? Does mod_proxy support this?

Many thanks for all the attention

Thiago

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


Load balancing two tomcat with _two_ server is really... unusual :D

I'd do this way:
two httpd, one on each server, with a balanced ip (keepalived). Each
httpd will use mod_jk and a balanced worker between the two istances.

The server should have a second nic, to directly connect the two server
with a different subnet.

Consider that the two httpd are in an active/standby status. If one
server goes down (i mean...it is off-duty), you'll end up with only one
frontend working with one backend.

If the "public" nic goes down, you'll end up with one frontend and two
balanced backend.

This is surely not an optimal solution, you know...

If you have other frontend, you could use them to balance the two
backends...mod_jk is not so consuming, after all.

My 2 cents.

Luca Gervasi


---------------------------------------------------------------------
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