Load Balancing

Load-Balancing happens in many ways, 1. DNS/IP based load balancing 2. Using Hardware based Load Balancer 3. Using Software based Load Balancing Server 4. May be Clustering too.. The first method is very primitive, In this approach you register multiple IP addresses to the same Domain name in the DNS server, and according to the order specified for each name resolution request the IP is returned by the DNS server in that order. Using this approach, it may not be very effective but it is very simple to implement and there will be nothing to manage. The problem in this approach is it's not 'fault-tolerant', because if one of the servers which are specified are down, updating the same in DNS is not immediate as the information may be cached in several locations. Using HW/SW based load balancers, each has it's Pro's and con's, In general, H/W based load balancers are highly efficient as they are specialty devices designed for this task. But, the problem is there will be limited set of features, and it will be hard if not impossible to update the features which are implemented, the maximum one can do is to update the firmware, that too if that facility is provided. Using s/w based load balancing server, can have huge number of features incorporated in them like packet filters, firewalls etc and updating them will be pretty straight forward. But the problem with these is that, those are normal servers / PC's and are not that efficient as their H/w based cousins. There is another different approach of Load balancing, 'Geographic based load balancing'. Here, depending on the client IP the request is routed to the nearest server. Using this they aim to reduce the physical travel time/hops for the data packets. There is another form of load balancing called clustering, it may not be primary candidate for load balancing but the end result is high availability and load balancing. Here, if I think they use vendor specific protocols when they implement the clusters.... Implementing a load balancing H/w or S/w is not a small task, there are lot of issues like user session handling, fault-tolerance, scaling-up or down of available servers. etc... I think I have provided you with basic info... you can research and find out more...

No comments: