Can anyone suggest some reading material or a tutorail how to set up a load balancer on cluster and use it with any service?

June 24, 2016 423 views
Load Balancing Clustering

1)Can we use loadbalancer setup alone as a single entry-point for users and for callbacks from any service ? or does it have to be used with any other?

2) Does the servers pointing to loadbalancer need to be configured to virtual IP so that request from http , or https gets served? or the http/https request can be pointed directly to loadbalancer without a virtual IP as discussed above?

3) The load balancer should be configured for round-robin between the servers to distribute the requests, is it a feature of load balancer ?

4)In order to have full HA, the load balancer should also have HA support, or it becomes a single point of failure? Are they any open source stack available with this feature and can you suggest a few ?

5) When you set up for group of same servers have a Round-Robin DNS do you still need a loadbalancer to serve over http and https?

Please let me know if my questions make sense or suggest an idea and literature to go through.

1 Answer

For the first answer to your question, Yes you can configure a loadbalancer as a single entry point for users ( clients ). Typically a loadbalancer sits in a DMZ zone and routes service requests to the internal nodes ( internal servers ). Hardware loadbalancer does support service call backs but they will be quite expensive. I have worked with HA proxy and it works like a charm and since its open source as well so there you go! You can find lot of articles on internet for free, I will provide the link at the end of my answer.

You second question is not clear to me but still here is my take on that!

Normally, you can offload your servers to your loadbalancer, so the request from the client to the loadbalancer uses SSL and from there onwards you can use simple HTTP .i.e from your loadbalancer to your internal node. Confusing? Client --> Loadbalancer ( HTTPS)---> (HTTP) Internal node. Now you are saving your computing resources as well and serving secure requests faster. Hope you are clear with the concept.

Loadbalancer supports different algorithms for loadbalancing like srouce based, least connection, round robin and ratio based load balancing (typically supported by hardware loadbalancers), most of them are supported by HAproxy.

HAproxy supports full HA, it can be used along with keepalived ( open source tool for hearbeat sharing). You can configure two linux machines with HAproxy with Keepalived.

DNS loadbalancing can help you will IP based load balancing but when you need service based load balancing, you need a load balancing software like HAproxy. So, the answer is yes you need a load balancer for it.

Below are some links which can help you brushing up your concepts of load balancing with self sufficient tutorials.

You can also refer to official documentation of HAproxy.

Let me know in case I can be of any help.

by Mitchell Anicas
An introduction to basic load balancing concepts and terminology, using HAProxy, with some examples.
  • OH gosh ,Thanks buddy .great answers. I will go through your links ? Thanks once again

  • Hi thanks ,
    I have question please let me know ur idea.
    Once the servers has been given to the load balancer , the http request from external clients are served through loadbalancer to the respective servers (understood).

    --> But instead of having a any of the following below setup
    3)blue,green deployement
    for HA achievement of loadbalancer can we use ZOOKEEPER instead ?

    -->The zookeeper has few components ZKFC,activeStanbyElector will they take care of the functionality that can be achieved through above options specified.

    --> Please let me know ur idea? Thanks once again.

    • Hi,

      Zookeeper is much more than just load balancing. It is more like a coordination service and its use depends on how much distributed your application is!
      Zookeeper is ideally used in cluster deployments where each nodes need to be aware of one another additionally, the client facing interface need to keep the list updated nodes and requests routed on that basis.

      Zookeeper provides its API and you can code you application smartly to utilise zookeeper's functionality .
      I remember using Zookeper in Hadoop HA configuration, but haven't used much after that.

      So, the answer to your question is yes you can use that but I wont recommend unless you are dealing with really distributed application clusters. I would strong recommend HaProxy or any other hardware load balancer since there are hell lot of blogs and documentation is available on the internet, you can get more support using these.


Have another answer? Share your knowledge.