Distribute incoming requests across a pool of backend servers so no single server gets overwhelmed and traffic keeps flowing if one fails.
Set up active-passive failover between two machines so your service stays available when the primary node goes down.
Configure Direct Server Return so backend servers respond directly to clients and reduce the load on the balancer itself.
Requires two physical or virtual machines each with two network interfaces, installation is manual and involves building from source and writing configuration files.
Seesaw v2 is a load balancing platform built by Google and released as open source, though the README notes it is not an official Google product. A load balancer sits in front of a group of servers and distributes incoming network traffic across them, so no single server gets overwhelmed and the service stays available even if one server goes down. Seesaw is built on top of Linux Virtual Server, a feature built into the Linux kernel for directing network traffic. It runs as a pair of nodes, meaning two machines work together so that if one fails the other takes over automatically. The floating address that clients connect to moves between the two nodes, staying active on whichever one is currently the primary. Beyond basic traffic distribution, Seesaw supports more advanced networking setups. It can handle anycast, a technique where the same IP address is advertised from multiple locations and traffic is routed to the nearest one. It also supports Direct Server Return, where responses from the backend servers go directly to the client without passing back through the load balancer, which reduces the load on the balancer itself. Multiple network segments and centralized configuration are also supported. Each service being load balanced is defined in a configuration file, where you specify the ports, the backend servers, and the health checks that determine whether each backend is currently healthy. The system includes a command-line tool for inspecting the current state, triggering a reload of the configuration, and manually failing over between the two nodes. The software is written in Go and requires two physical or virtual machines to operate, each with two network interfaces. Installation is a manual process that involves building from source, installing binaries, and writing configuration files.
← google on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.