This discussion is archived
6 Replies Latest reply: Dec 17, 2012 6:48 AM by 953835 RSS

Multiple dgraph clustering (load balancing) OOTB available?

968624 Newbie
Currently Being Moderated
Hello,

We have 2 dgraphs running in parallel having the same data to share the load of the clients.
I would like to know if there is any OOTB solution provided by Endeca where in these two dgraphs can share the load. OR I need to use an external load balancer for the same?

If there is any document that explains the configuration for OOTB Endeca solution, please let me know

Thanks!
  • 1. Re: Multiple dgraph clustering (load balancing) OOTB available?
    sabdelhalim Newbie
    Currently Being Moderated
    Hi,
    there is a document called "Simple MDEX Load Balancing with Apache HTTP Server" I had from eden
    see also "Endeca Load Balancing Best Practices"
    see if that helps
    regards
    Saleh
    i'll check if i can find you the internet address ...
    if you can't find them send me an email

    Edited by: sabdelhalim on Nov 21, 2012 3:44 PM
  • 2. Re: Multiple dgraph clustering (load balancing) OOTB available?
    953835 Newbie
    Currently Being Moderated
    Endeca Load Balancing Best Practices
    Google doesn't bring back any documents with that in their name. Do you have a link? Or maybe it is part of another document?
  • 3. Re: Multiple dgraph clustering (load balancing) OOTB available?
    Branchbird - Pat Journeyer
    Currently Being Moderated
    Joe,

    I think logging a request with Support can get you access to some of these documents that used to be featured on endeca.com and eden.endeca.com.

    I'm not sure if there's a long term plan to "re-publish" these assets via OPN or something like that but it would certainly be nice to see.

    Patrick
  • 4. Re: Multiple dgraph clustering (load balancing) OOTB available?
    sabdelhalim Newbie
    Currently Being Moderated
    Hi,
    yes I know...
    i tried to check if they were still available...but found none,
    that's why I said if you want me to send them email me ...(I downloaded them from Eden ) and the files aren't too big
    regards
    Saleh

    29/11/12 : copy of the document called Simple MDEX Load Balancing with Apache HTTP Server (Endeca)

    Endeca Solution Article Simple MDEX Load Balancing with Apache HTTP Server
    Endeca Solution Article
    Simple MDEX Load Balancing with Apache HTTP Server
    By Robert Dennis
    Last Updated: December 2010
    Endeca Product Versions: 5.0+
    This document describes how to set up a simple load balancing and failover solution using Apache HTTP server. This provides a cost effective mechanism leveraging widely available open source technologies to address simple infrastructure needs. This document includes the following sections:
     Introduction
     Configuration Steps
     References
    Endeca Solution Article Simple MDEX Load Balancing with Apache HTTP Server
    Endeca Confidential 2 of 5
    Introduction
    Load balancers are the preferred solution for providing scalability, redundancy, and fail-over for MDEX Engine queries. Typically, load balancing and failover are accomplished with the use of dedicated load balancing hardware. For some Endeca implementations, however, a robust mechanism for load balancing may not be available or required by the customer. For more information on the basics of load balancing an Endeca application, see the “Endeca Load Balancing Best Practices” Solution Article available on EDeN.
    This document describes the configuration steps involved in leveraging Apache’s default load balancing mechanisms to provide a simple load balancing solution for an Endeca application. In this scenario, Apache will sit between the Endeca presentation API housed in a web application and redundant MDEX engines. Apache performs the duties of a simple load balancer and failover broker, managing query requests from the application tier to specific MDEX engines.
    Configuration Steps
    The described configuration leverages Apache 2.2 HTTP Server as the load balancing mechanism between two identical MDEX engines all residing on a single server. The sample configuration expects the Apache HTTP server to be listening on port 5555 and the MDEX engines to be listening on ports 8000 and 8001. These can be changed as appropriate for a given environment.
    1. In the Apache httpd.conf, enable the server for listening on port 5555.
    Endeca Solution Article Simple MDEX Load Balancing with Apache HTTP Server
    Endeca Confidential 3 of 5
    2. Enable the following modules by un-commenting the appropriate loadmodule statements in the httpd.conf file. These modules include: mod_proxy, mod_proxy_balancer, mod_proxy_connect, mod_proxy_http, mod_negotiation.
    3. Include the httpd-vhosts.conf file by un-commenting the appropriate line in the httpd.conf file.
    4. Save the httpd.conf file and open the httpd-vhosts.conf file. Append the below information and save the file.
    Endeca Solution Article Simple MDEX Load Balancing with Apache HTTP Server
    Endeca Confidential 4 of 5
    NameVirtualHost *:5555 <VirtualHost *:5555> ServerName localhost ProxyPass / balancer://dgraphs/ ProxyPassReverse / balancer://dgraphs/ <Proxy balancer://dgraphs> BalancerMember http://localhost:8000 loadfactor=1 retry=0 BalancerMember http://localhost:8001 loadfactor=1 retry=0 </Proxy> </VirtualHost> <Location /balancer-manager> SetHandler balancer-manager </Location>
    The “retry” parameter associated with Balance Members disables the period of inactivity for a particular worker after Apache determines it is offline. The default is 60 seconds. It is recommended that this is set to a low number such as 0.
    In environments where particular MDEX engines are targeted for additional load, the “loadfactor” parameter associated with Balance Members can be adjusted. Higher values ensure that the load balancing algorithm that is used will route the traffic load accordingly to specific Balance Members.
    5. Restart Apache.
    6. Within the UI application, configure the host and port of the HttpENEConnection to the host and port of the load balancer (e.g. localhost:5555).
    Endeca Solution Article Simple MDEX Load Balancing with Apache HTTP Server
    Endeca Confidential 5 of 5
    Apache HTTP Server is now properly configured to serve as a load balancer for the MDEX Engines.
    References
    “Endeca Load Balancing Best Practices” Solution Article (EDeN)
    Apache Module mod_proxy
    Apache Module mod_proxy_balancer
    Apache Module mod_proxy_connect
    Apache Module mod_proxy_http
    Apache Module mod_negotiation

    Edited by: sabdelhalim on Nov 28, 2012 5:46 PM
  • 5. Re: Multiple dgraph clustering (load balancing) OOTB available?
    968624 Newbie
    Currently Being Moderated
    Thanks Sabdelhalim!

    This has helped us a lot!
  • 6. Re: Multiple dgraph clustering (load balancing) OOTB available?
    953835 Newbie
    Currently Being Moderated
    Endeca Confidential
    Oops.

    So this is using Apache to do the load balancing. That is one thing Apache is suppose to be good at, so that makes sense. In that case pick up a book about Apache for how to set up the load balancing feature.

    Found this: http://tomcat.apache.org/connectors-doc/generic_howto/loadbalancers.html

    Edited by: EndecaJoe on Dec 17, 2012 6:48 AM

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points