GLB Director – set of stateless Layer 4 load balancer servers

The GitHub Load Balancer (GLB) Director is a set of components that provide a scalable set of stateless Layer 4 load balancer servers capable of line rate packet processing in bare metal datacenter environments, and is used in production to serve all traffic from GitHub’s datacenters.

GLB Director is designed to be used in datacenter environments where multiple servers can announce the same IP address via BGP and have network routers shard traffic amongst those servers using ECMP routing. While ECMP shards connections per-flow using consistent hashing, addition or removal of nodes will generally cause some disruption to traffic as state isn’t stored for each flow.

A split L4/L7 design is typically used to allow the L4 servers to redistribute these flows back to a consistent server in a flow-aware manner. GLB Director implements the L4 (director) tier of a split L4/L7 load balancer design.

GLB Director has a number of components that work together with other infrastructure components to create a complete load balancer.

Website: github.com/github/glb-director
Support:
Developer: GitHub
License: BSD 3-Clause (a few components are listed under GNU General Public License Version 2)

GLB Director is written in C. Learn C with our recommended free books and free tutorials.

Return to Load Balancers Home Page

Want to find more awesome open source software? Check out our award winning open source software directory featuring more than 20,000 open source apps.
Share this article