explaingit

google/seesaw

5,677GoAudience · ops devopsComplexity · 4/5Setup · hard

TLDR

Seesaw is a Linux load balancer built by Google that spreads incoming network traffic across a group of servers and keeps your service running automatically if one of those servers goes down.

Mindmap

mindmap
  root((repo))
    What it does
      Distributes network traffic
      High availability failover
      Health checks backends
    Tech Stack
      Go
      Linux Virtual Server
      Linux
    Use Cases
      Internal service load balancing
      High availability setup
      Anycast traffic routing
    Networking Features
      Direct Server Return
      Anycast support
      Multi-segment networks
    Audience
      Network engineers
      Ops teams
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Distribute incoming requests across a pool of backend servers so no single server gets overwhelmed and traffic keeps flowing if one fails.

USE CASE 2

Set up active-passive failover between two machines so your service stays available when the primary node goes down.

USE CASE 3

Configure Direct Server Return so backend servers respond directly to clients and reduce the load on the balancer itself.

Tech stack

GoLinux Virtual ServerLinux

Getting it running

Difficulty · hard Time to first run · 1day+

Requires two physical or virtual machines each with two network interfaces, installation is manual and involves building from source and writing configuration files.

License terms are not described in the explanation.

In plain English

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.

Copy-paste prompts

Prompt 1
Walk me through installing Seesaw v2 on two Linux machines from source, configuring the network interfaces, and running the binary for the first time.
Prompt 2
How do I write a Seesaw configuration file to load balance HTTPS traffic across three backend servers with a health check on port 443?
Prompt 3
Explain how Seesaw uses Linux Virtual Server under the hood to forward packets and what kernel features it relies on.
Prompt 4
How do I use the Seesaw command-line tool to manually trigger a failover from the primary node to the backup node?
Prompt 5
How does Seesaw implement anycast so the same IP address is served from multiple physical locations?
Open on GitHub → Explain another repo

← google on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.