How I Would Design… An API Rate Limiter!

A system design demonstration

Slow down, you’re moving too fast

Audience

Argument

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

Conclusion

Principal Software Engineer at the BBC