Load Balancing
Load balancing is the method of distributing network traffic equally across a pool of resources that support an application.
Types of Load Balancing:
Round Robin Load Balancing
How it works: Distributes requests sequentially across the available servers.
Use case: Suitable for servers with similar capacities and performance.
Least Connections Load Balancing
How it works: Sends traffic to the server with the fewest active connections at the time.
Use case: Useful when servers have uneven workloads or varying capacities.
IP Hash Load Balancing
How it works: Uses the client's IP address to assign requests to specific servers. The same client IP will always be routed to the same server.
Use case: Effective for maintaining session persistence.
Weighted Round Robin Load Balancing
How it works: Assign more requests to servers with higher capacities using weight distribution while still following a round-robin approach.
Use case: Ideal for environments with servers that have different capabilities.
Weighted Least Connections Load Balancing
How it works: Combines the fewest connections and weighting, sending more requests to servers that can handle larger loads.
Use case: Suitable for servers with varying capacities that need a balanced load based on their strengths.
Geographical Load Balancing (Geo Load Balancing)
How it works: Directs traffic based on the geographic location of the user, sending requests to the nearest server to reduce latency.
Use case: Ideal for global applications to improve user experience with reduced latency.
Application-Level (Layer 7) Load Balancing
How it works: Routes requests based on application-level data such as URLs, cookies, or HTTP headers.
Use case: Used for complex web applications where routing decisions depend on the content of the request.
Network-Level (Layer 4) Load Balancing
How it works: Balances traffic based on network-level information like IP addresses and TCP/UDP ports.
Use case: Ideal for high-performance, low-latency environments.