![]() |
|
11.03.09 An Intro To Load Balancing By Jay FougereLoad balancing is a general term used to describe several technologies. Distributing computing load amongst more than one server is the common theme in all types of load balancing. Clustering can be an effective form of load balancing, however I consider clustering to be unique enough that it is beyond the scope of this article. Let us start by looking at reasons for load balancing. Often times the load of a particular application is simply too much for a single server. Other times, a service is considered too important to allow for downtime and load balancing is used for high availability. Many times load balancing is used for a combination of reasons. There are many methods of load balancing dependent upon what is required of the service in question. As an example, a busy website will often times be served off several servers. If no persistence is required (ie. no SSL, no sessions, etc...), simply setting up round robin DNS entries can be a simple yet effective solution. Round robin simply cycles through IP addresses for domain records. For instance, suppose I had the following entries in DNS: www.example.com. IN A 192.168.1.100 www.example.com. IN A 192.168.1.101 www.example.com. IN A 192.168.1.102 www.example.com. IN A 192.168.1.103
The first request for www.example.com would get the server with IP address 192.168.1.100, while the next request would get the server with IP address 192.168.1.101 and so on. While extremely simple and effective, round robin DNS is not a solution where a website requires some sort of persistence. Let us suppose you are running a large internet forum that has unique member logins for all users of the site. Using round robin a member may log in on one server, however when the member attempts to browse the site with the session created and reaches one of the other servers, the other server will have no record of that members session, and will thus force them to log in yet again. The site will appear broken and for all intents and purposes it is broken! This is where OSI layer 4 load balancing with persistence can be an effective solution. Generally for this configuration there will be a dedicated load balancing machine with a single public IP address for the site and (on another network interface) a private IP address that will act as a gateway address for the actual web servers which will be residing on the private network block. Since this type of load balancing works by using a type of NAT (Network Address Translation) the load balancer can keep track of what servers answered which client requests, with respect to persistence. This will allow such things as sessions to function as expected. Layer 4 switching/load balancing can be used to solve several problems. First of all, the web servers, being on a private subnet, can be isolated from many public attacks. Secondly, servers can be added and subtracted from the pool of available servers without affecting the uptime of the website. To truly make this setup redundant, usually two or more load balancers are configured with one being a master that is monitored by the others. If the master load balancer fails, the secondary load balancer(s) will assume the function of the master. Continue Reading This Article. About the Author: Jay Fougere is the IT manager for the iEntry network. He also writes occasional articles. If you have any IT questions, please direct them to Jay@ientry.com. |
|
| ||
| --
UnixProNews is an iEntry,
Inc. publication -- iEntry, Inc. 2549 Richmond Rd. Lexington KY, 40509 2009 iEntry, Inc. All Rights Reserved Privacy Policy Legal archives | advertising info | news headlines | free newsletters | comments/feedback | submit article |