Global Server Load Balancing

Some independent study materials to learn about serving content on a global scale.

Communication

The notes in this article can help you improve your communication with developers and engineers when trying to hunt down integration issues and bugs.

HTTP

A large amount of web data is served via the HTTP protocol. Below you will find several perspectives on HTTP, the core HTTP specifications, and a tutorial on HTTP load balancing. A recommended non-free resource is HTTP: The Definitive Guide.

TCP

TCP performance can be improved by paying attention to the behavior of connections under different circumstances.

Load Balancing

Layer 4 load balancing becomes necessary when millions of connections or more are hitting a server. Multiple load balancers and back-ends are combined to create a virtual server. LVS is an integrated Linux kernel feature that performs this type of load balancing with minimal configuration and tuning. Other approaches like Maglev and Katran have appeared in recent years to handle connections even more efficiently.

Routing

BGP and Anycast use shared address assignment to perform global server load balancing.

DNS

DNS allows for global server load balancing by correlating the address of the request with a service region. A commonly-used tool for diagnosing DNS issues and exploring existing DNS configurations is dig.

Log Parsing

These skills are essential for sifting through the mountain of data contained in HTTP logs.