Load Balancing
Total Page:16
File Type:pdf, Size:1020Kb
Load Balancing Contents What is Load Balancing Load Balancer and Back-End Layer-2 Load Balancing Layer-4 Load Balancing Layer-7 Load Balancing Persistence DNS Load Balancing Database Load Balancing Load-Balancing Clusters More Software Solutions What is Load Balancing? Load balancing is a computer networking methodology to distribute workload across multiple resources to achieve optimal resource utilization maximize throughput minimize response time avoid overload Load Balancer and Back-End A Load Balancer (Front-End Server) is usually used Receives computed outputs from several Back- End Servers In Multitier architecture, terminology of designs may include Stovepipes Bowties Load Balancer and Back-End Redirects traffic according to algorithm/availability/traffic but stays as a mediator between the user and the back-end servers Server Health Checking through Ping/TCP Connect/HTTP Get Header/HTTP Get Content Custom checks can be designed too Layer-2 Load Balancing ● Bonding ● Bond two or more links into a single, higher- bandwidth logical link ● NIC Teaming ● Link Aggregation Control Protocol (LACP) Layer 4 Load Balancer/Router MultiLayer Switch Practically a NAT with port and transaction awareness Modern load balancing routers can use rules least load fastest response times balancing requests out if one machine is not up, the router will not send traffic to it IPVS in the Linux Virtual Server (LVS) Layer-7 Load Balancing Reverse Proxy Parse requests in application layer and distribute requests to servers based on different types of request contents LoadBalancing.org recommends HAProxy for open-source Citrix netscaler and F5 are also said to dominate this market Also KTCPVS Layer-7 Load Switching Persistence When a user is directed to one server The user is kept redirected to that server Source IP Persistence Not good for multiple access behind one IP Cookie Based Good for HTTP but there are famous vendors that also do RDP Cookies (HAProxy) DNS Load Balancing Using the Zone File When the Server is down... Its DNS will not respond Quickest DNS responder will be the closest @ in a 192.0.2.1 one.example.org A 192.0.2.1 two.example.org A 203.0.113.2 www.example.org NS one.example.org www.example.org NS two.example.org Database Load Balancing Oracle RAC MySQL Cluster or through middle-ware like MySQL Load Balancing Proxy Load-Balancing Clusters Usually a group of computers connected in a LAN to make a ”Virtual Server” More cost-effective than single computers with similar performance Some software used is MPI Library Beowulf, distcc, and MPICH. Linux Virtual Server, Linux-HA More Software Solutions Apache web server's mod_proxy_balancer extension Varnish (HTTP Accelerator/Reverse Proxy) Pound (Reverse Proxy/Load Balancer) Gearman (application framework designed to distribute appropriate computer tasks to multiple computers) Redundant Firewalls with OpenBSD F5 uses FreeBSD, RedHat Cluster, Linux-HA, Ultra Monkey, Linux Virtual Server.