The Smallest Distributed System
summary
Travis CI moves from one monolithic process to many tiny services, isolating Hub, jobs, logging and notifications so the system scales from ~700 to 45,000 builds per day. Visibility and monitoring (statsd/libr-metrics, UUID request tracing) replace opaque failures; RabbitMQ becomes a dedicated cluster. Build logs switch to per-chunk counters (Lamport-style clocks) so five processors handle bursts up to 300 messages per second and reassembly works; GitHub API timeouts force short timeouts, retries and backoffs.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 1:15Travis CI
- 5:26Travis 2012
- 18:21The Hub
- 23:34Old Architecture
- 25:44Ordering
- 26:57Clock
- 28:01The Renaissance
- 29:36Simplicity
- 29:48Complexity
- 31:37Uncertainty
- 33:10Single Database
- 35:03Questions
- 37:35Circuit Breakers
- 41:28Monitoring
- 43:26Testing
- 45:23RabbitMQ
related talks
33mDeconstructing Travis
27mScaling a Rails Monolith w/Event Driven Microservices
28mMicroliths: how to avoid traps in your stack and your culture
49mThe road to continuous deployment: a case study
10mMicroservices, Messaging, and Failure: How Simplifying Our Architecture Saved Us
25mMicroservices, Monorepos, and the Efficient Build Processes
33mEnabling Microservices
42mInnovating Faster with Micro-Service Architecture...
