2 Replies Latest reply on Apr 21, 2011 12:39 PM by john.miller

    What are the trade-offs in doing both hardware and software load balancing?

    john.miller

      What are the trade-offs in doing both hardware and software load balancing?

       

      We have a hardware load balancer in front of a tier of web servers running Apache httpd.  The Apache httpd servers use mod_cluster to then load balance requests to the tier of app servers running JBoss EAP 5.1. 

       

      Does load balancing at both tiers make sense?  What are the advantages and disadvantages?

        • 1. What are the trade-offs in doing both hardware and software load balancing?
          genman

          There's little point in doing both. I would remove Apache unless you're serving static content from Apache or something complicated (virtual hosts?). But even then JBoss is pretty decent at serving static content.

           

          The only advantage I see is flexibility of configuration BUT with more parts there's a greater chance for mistakes.

          • 2. What are the trade-offs in doing both hardware and software load balancing?
            john.miller

            Yes, we're both serving static content and using virtual hosts with Apache.

             

            This is not a configuration that I created/chose, but was asked to evaluate.

             

            I agree with your analysis:

             

            The disadvantages seem to be more moving parts & greater complexity and everything that comes with those (greater risk for mistakes, harder to maintain, etc.).

             

            The advantages seem to be greater flexibility, off-loading static content handling to the web tier (and apparently it's expected that there'll be a lot of static content), use of virtual hosts.  But these advantages would still be there if we turned off software load balancing and just did hardware load balancing.  So I'm wondering what advantages are gained strictly from having both?  The only one that I see is that it may be a more robust way of handling failover if an app server goes down?