Due to the increase in usage of services provided over the Internet, there is excessive internet traffic. If the user's request is not distributed properly among the servers causes overloading or underutilization of some servers and an increase in the time taken to process the user requests. This calls for a need to distribute the load across the available servers evenly and optimally. Load balancing is a method of distributing the workload equally among multiple servers. By distributing the load equally among the servers, a load balancer provides a good response time, increases throughput and utilizes resources effectively.