How I Would Design… An API Rate Limiter!

A system design demonstration

Slow down, you’re moving too fast



The System to Design

The Approach

Requirements clarification

Back of the envelope estimation

System interface design

Data model design

Logical design

9:00 - 9:10: Max 10 requests: 5 requests received
9:10 - 9:20: Max 20 requests: 10 requests received
9:20 - 9:30: Max 30 requests: 15 requests received
An example of a basic setup with information stored on the nodes
Basic logical design

Physical design

A simple physical diagram

Identify and resolve bottlenecks


Principal Software Engineer at the BBC