Skip to main content

Load Balancing Protocols and Methods

Load balancing allows you to distribute incoming traffic between several servers to increase fault tolerance and processing speed. With FortiGate, you can configure load balancing between servers in your Selectel infrastructure.

When configuring load balancing, you select:

Depending on the protocol you choose, you can enable session persistence.

Protocols

Protocols at different levels of the OSI model are available for load balancing:

  • network and transport layers (L3–L4): IP, TCP, and UDP;
  • application layer (L7): HTTP, HTTPS, IMAPS, POP3S, SMTPS, and SSL.

Session Persistence

You can enable session persistence when load balancing. All requests from one user will be processed by the same server. This allows you to maintain a user session, for example, to keep authentication active on a website. Session persistence is not supported for all protocols. The session persistence method depends on the protocol.

Session persistence methodDescription
HTTP, HTTPSHTTP cookieRequests with the same cookie are sent to the same server behind the firewall
IMAPS, POP3S, SMTPS, SSL, HTTPSSSL Session IDRequests with the same SSL Session ID are sent to the same server behind the firewall
TCP, UDP, IPWithout session persistenceRequests are sent to a server behind the firewall according to the load balancing method

Load Balancing Methods

The balancing method determines how requests are distributed between servers behind the firewall.

StaticRequests are evenly distributed to all servers without considering server load
Round RobinRequests are sent to each server in turn
WeightedServers with a higher weight receive a proportionally larger number of requests
Least SessionThe request is sent to the server with the fewest active sessions
Least RTTThe request is sent to the server with the minimum round-trip time (RTT). The RTT value is measured using a server availability check—a Ping-type Health Check. If Health Check is not configured, the default RTT is zero
First AliveAll requests are directed to the first available server. If the server is unavailable, requests are sent to the next server
HTTP HostRequests are distributed between servers based on the HTTP Host header