Several implementation ways of Web load balancing
Summary:
Load Balancing (Balance) is an application of cluster technology (Cluster). Load balancing can spread the work tasks across multiple processing units, increasing the concurrency processing power. The most common application for load balancing today is web load balancing. Depending on the principle of implementation, common Web load balancing techniques include: DNS polling, IP load balancing, and CDN. Where IP load Balancing can be implemented using hardware devices or software methods.
What is web load balancing
Server clusters (Cluster) enable multiple server nodes to work together, depending on the purpose, the server cluster can be divided into:
High-performance clusters: Distribute a single heavy load of requests across multiple nodes for processing, and then summarize the processing results
Highly available clusters: increase redundant units to avoid single point of failure
Load Balancing cluster: A large number of concurrent requests are shared across multiple processing nodes. The load Balancing cluster also achieves high availability because the failure of a single processing node does not affect the entire service.
The generally mentioned load balancer (load Balance) refers to implementing a load Balancing cluster. Load balancing enables scale-out to avoid vertical upgrades.
Web load Balancing in this article refers to load balancing techniques that can share Web requests (HTTP,HTTPS, etc.).
Basic principle
Any load balancing technique would have to find a way to create a one-to-many mapping mechanism: a request's entry maps to multiple nodes that process the request, thus achieving divide and conquer (Divide and Conquer).
This mapping mechanism enables multiple physical presence to be represented as a virtual whole, shielding the internal structure from the requestor of the service.
Different mechanisms are used to establish mapping relationships, which can form different load balancing techniques, including:
- DNS Polling
- Cdn
- IP load Balancing
Dns
DNS polling is the simplest way to load balance. With domain names as access portals, configuration of multiple DNS A records enables requests to be assigned to different servers.
DNS polling does not have a fast health check mechanism and only supports WRR scheduling policies that cause the load to be difficult to "balance", typically for scenarios that are not demanding. And the DNS polling method directly exposes the server's real address to the user, which is not conducive to server security.
Cdn
CDN (contents Delivery Network, content distribution networks). Through the publishing mechanism, the content is synchronized to a large number of cache nodes and extended on the DNS server to locate the most recent cache node in the user as the service provider node.
Because it is difficult to build a large number of cache nodes, the service of the CDN operator is often used. At present, the domestic service providers are very few, and according to the flow rate, the price is more expensive.
IP load Balancing
IP load Balancing is a load balancer implemented based on specific TCP/IP technology. such as NAT, DR, turning and so on. Is the most frequently used way. For the principle, you can refer to another article: the load Balancing method in LVs.
IP load Balancing can be used with hardware devices or software implementations. The main products of hardware equipment is F5-BIG-IP-GTM (abbreviation F5), software products are mainly LVs, HAProxy, NginX. Which LVs, Haproxy can work on the 4-7 floor, nginx work on the 7 floor. For a simple comparison of the three, you can refer to here.
Hardware load balancing devices can make the core part of the chip, better performance and stability, and the manageability of commercial products, documentation and services are relatively good. The only problem is the price.
Software load Balancing is usually open source software. The degree of freedom is higher, but the learning cost and management cost will be relatively large.
F5
The full name of the F5 is F5-big-ip-gtm, which is the most popular hardware load balancing device and its concurrency capability reaches millions. Key features of the F5 include:
Multi-link load balancing and redundancy
Multiple ISP links can be connected for load balancing and high availability between links.
Firewall Load Balancing
F5 has the capability of load balancing and fault automatic troubleshooting for heterogeneous firewalls.
Server load Balancing
This is the main feature of F5, F5 can be configured to configure Virtual server for all external servers to implement load balancing, health checks, reply-to-hold, etc.
Highly Available
The redundancy design of the F5 device can guarantee 99.999% uptime, and the failover time of the dual-machine F5 is millisecond-level.
With F5, you can configure link redundancy and server redundancy for the entire cluster, improving reliable health check mechanisms to ensure high availability.
Security
Similar to firewalls, F5 uses the default Deny policy to add additional security protections to any site, including DDoS, IP spoofing, SYN attacks, teartop and land attacks, ICMP attacks, and more.
Easy to manage
F5 provides a variety of management methods such as HTTPS, SSH, Telnet, SNMP, and more, including detailed real-time reports and historical reports. Two development packages (I-control) are also available.
Other skills
F5 also provides accessibility features such as SSL acceleration, software upgrades, IP address filtering, and bandwidth control.
Several ways of web load balancing