Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Aperture - A Non-Cooperative, Client-Side Load Balancing Algorithm

USENIX via YouTube

Overview

Explore a conference talk from SREcon19 Asia/Pacific that delves into Aperture, a non-cooperative, client-side load balancing algorithm developed by Twitter. Discover how Twitter's RPC framework, Finagle, employs this unique approach to load balancing and the challenges it faces as service clusters grow to thousands of instances. Learn about the evolution of Twitter's client-side load balancer, service-to-service load balancing, and the intricacies of random aperture and its limitations. Gain insights into the development of discrete coordinates, destination rings, and composite rings, as well as the implementation of continuous coordinates and multiple service rings. Understand the dynamic aperture size, resilience measures, and the migration process from random aperture to D-Aperture. Examine the reduction in request retries achieved through this algorithm and consider the limitations and future work in this area of load balancing technology.

Syllabus

Intro
TWITTERS CLIENT-SIDE LOAD BALANCER EVOLUTION
SERVICE-TO-SERVICE LOAD BALANCING
EXAMPLE SERVICE TOPOLOGY
RANDOM APERTURE: UNFAIR
RANDOM IS STATISTICAL
CONFIGURED RANDOM APERTURE
DISCRETE COORDINATES
DESTINATION RING
COMPOSITE RINGS
SESSION HISTOGRAM
CONTINUOUS COORDINATES
MULTIPLE SERVICE RINGS
CONTINUOUS COORDINATE MODEL
DYNAMIC APERTURE SIZE
RESILIENCY
MIGRATION FROM RANDOM APERTURE TO D-APERTURE
REDUCTION IN REQUEST RETRIES
LIMITATIONS
FUTURE WORK

Taught by

USENIX

Reviews

Start your review of Aperture - A Non-Cooperative, Client-Side Load Balancing Algorithm

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.