System
Real-Time Ad Bidding.
Ad exchange.
Every page load is an auction.
1.4 ms across eight hops, on three commodity servers.
Constraint
Bid decisions are data-intensive.
Campaign rules. User profiles. Demand-side parameters.
The latency budget is a millisecond.
A network fetch does not fit.
Caching helps until durability becomes a requirement.
The bottleneck is not the database. Not the compute.
Rumi removes the network between them.
Foundation
State and execution co-located.
Data is local. Always.
Four micro-dataservices: SSP, Ad Exchange, DMP, DSP.
Hundreds of millions of tracking records held in memory.
Ad Exchange co-located with DSP.
Persistence, messaging, and recovery are platform concerns.
Developers write plumbing-free business logic.
The bid path never leaves memory.
Outcomes
8 message hops on the bid path.
Each takes tens of microseconds.
1.4 ms end-to-end.
Three commodity servers for the full mesh.
Sub-second primary-to-backup failover.
Sustained at 100,000 ad requests per second.
Across 1,000 active campaigns.
Zero data loss through deliberate primary termination.