Skip to main content

Load Balancing overview

KakaoCloud Load Balancing receives client requests and distributes the incoming traffic across multiple servers. This is an essential technology to address problems that can occur when handling all requests on a single server.

When a single server receives a high volume of requests, it can exceed the server's processing capacity, leading to slower speeds or service outages. By using Load Balancing, traffic is evenly distributed across multiple servers, which helps in sharing the load and improving the stability and availability of the servers.

Architecture of Load Balancing

The architecture and workflow of the Load Balancing are as follows:

Image Load Balancing architecture

  1. The client sends a request and attempts to connect to the server.
  2. The load balancer receives the request through the Listener and routes it to the target group.
  3. The Target Group forwards the request to one target based on a pre-configured algorithm.
  4. The target receives the request and generates a response to be sent back to the client through the load balancer.
  5. The load balancer receives the response and delivers it to the client.
  6. If necessary, the load balancer handles SSL offloading.

Use cases

Cost-effective operation of services where stability is crucial

Instead of investing continuous management resources to prevent server failures or overloads, traffic is distributed across multiple servers within the target group via pre-configured settings. If unexpected failures occur on some servers in the target group, those servers are automatically excluded to maintain uninterrupted service.

Acting as an intermediary between clients and servers

Distributes the load among servers and promotes efficient resource utilization. Even if some servers experience failures, other servers can handle the requests, thus maintaining the overall system's availability.

Playing a key role in building distributed systems

Uses Load Balancing algorithms to prevent excessive load concentration on specific servers and provides features such as SSL offloading and session persistence to meet various requirements.

Features

Different load balancer types based on use case

NameDescription
Application Load Balancer (ALB)  - Supports HTTP and HTTPS protocols
- Operates at OSI L7, suitable for various applications like websites, microservices, containers
- Allows fine-grained routing settings with L7 rules
Network Load Balancer (NLB)- Supports TCP, UDP, and TLS protocols
- Operates at OSI L4, ideal for environments requiring high processing speed for large-scale traffic
Direct Server Return Network Load Balancer (DSRNLB)- Supports TCP and UDP protocols
- Operates at OSI L4, suitable when client IP preservation is required

Enhanced uninterrupted service with health check functionality

  • Set health check functionality on the target group to maintain stable, uninterrupted service
  • Periodically checks the status of targets, excluding those with failures from traffic distribution and routing traffic to healthy servers

Improved management efficiency with simple creation and settings

  • Provides an easy-to-use and intuitive console to maximize management efficiency
  • Easily Create load balancers and monitor resource usage through the console

Enhanced security with SSL certificates

  • Performs encryption and decryption based on registered certificates when handling HTTPS and TLS traffic
  • Certificates are managed on an account basis, allowing for registration of existing certificates or issuance of new ones

Analyzing traffic patterns and solving issues through log monitoring

  • Supports Access Log functionality to analyze traffic patterns
  • Provides appropriate log fields based on load balancer type

Getting started

Detailed guides on Load Balancing, refer to the Application Load Balancer, Network Load Balancer, and Direct Server Return Network Load Balancer How-to Guides.

If you are new to KakaoCloud, start with the Start section.