Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the implementation of Fitbit's frontend server in this 47-minute Strange Loop Conference talk. Dive into the practical aspects of building a fast, stable, scalable, extensible, and easily monitored frontend server. Learn about queueing theory, software design, GC tuning, and the Netty library. Discover how Fitbit broke apart its monolith and implemented a 3000-line codebase that handles authentication, rate limiting, and traffic prioritization. Gain insights into topics such as async programming with Netty, request state machines, promise composition, queue management, load balancing strategies, and key metrics for monitoring. Understand the engineering decisions and tradeoffs involved in creating an efficient frontend server for a service-oriented system.
Syllabus
FITBIT HAS A MONOLITH
BREAKING IT APART
RELATIVE FRONTENDS
ABSOLUTE FRONTEND
OUR SERVER'S ROLE
TRANSPARENT
STABLE
EXTENSIBLE
ASYNC, VIA NETTY
PASSPORT
ROUTER
CHANNEL POOL
HTTP SOCKET
REQUEST STATE MACHINE
CALLBACK HELL
PROMISE COMPOSITION
SINGLE QUEUE
FACTORIES MAXIMIZE THROUGHPUT
CARNIVALS BALANCE THROUGHPUT AND LATENCY
WHAT ABOUT THE GIANT PUMPKINS?
LOAD BALANCING
ROUND ROBIN
LEAST IN-FLIGHT
DEPLOY-TIME BLUES
OUR KEY METRICS
Taught by
Strange Loop Conference