2016 · 164 citations · 22 references
ComputingComputer ScienceComputer SystemsCloud NetworkingComputer NetworksDistributed SystemsDistributed Systems PerformanceLoad BalancingLoad Balancing Under FailuresNetwork Fault ToleranceRoutingCloud Load BalancingHashingLoadLoad Balancer DesignMultipathNetwork Load BalancingPacket ProcessingService Endpoints
Maglev is Google's network load balancer. It is a large distributed software system that runs on commodity Linux servers. Unlike traditional hardware network load balancers, it does not require a specialized physical rack deployment, and its capacity can be easily adjusted by adding or removing servers. Network routers distribute packets evenly to the Maglev machines via Equal Cost Multipath (ECMP); each Maglev machine then matches the packets to their corresponding services and spreads them evenly to the service endpoints. To accommodate high and ever-increasing traffic, Maglev is specifically optimized for packet processing performance. A single Maglev machine is able to saturate a 10Gbps link with small packets. Maglev is also equipped with consistent hashing and connection tracking features, to minimize the negative impact of unexpected faults and failures on connection-oriented protocols. Maglev has been serving Google's traffic since 2008. It has sustained the rapid global growth of Google services, and it also provides network load balancing for Google Cloud Platform.
22
Ion Stoica, Robert Morris, David R. Karger et al. · 2001 · 9.7K citations
Consistent hashing and random trees
David R. Karger, Eric Lehman, Tom Leighton et al. · 1997 · 2K citations
Understanding network failures in data centers
Phillipa Gill, Navendu Jain, Nachiappan Nagappan · 2011 · 715 citations · Full text
Craig Labovitz, Scott Iekel-Johnson, Danny McPherson et al. · 2010 · 550 citations