Design an API Rate Limiter

0%

Editorial Solution

System requirements

Functional

Capacity estimation

Traffic

API design

Decision API

Database design

Rule Configuration (PostgreSQL)

High-level design

Architecture Overview

Request flows

Allow/Deny Decision Flow

Detailed component design

Atomic Operations With Lua Scripts

Trade offs/Tech choices

Token Bucket vs Sliding Window

Failure scenarios/bottlenecks

Redis Failure

Future improvements

Multi-Scope Limits

Table of Contents

System requirements

Functional

Capacity estimation

Traffic

API design

Decision API

Database design

Rule Configuration (PostgreSQL)

High-level design

Architecture Overview

Request flows

Allow/Deny Decision Flow

Detailed component design

Atomic Operations With Lua Scripts

Trade offs/Tech choices

Token Bucket vs Sliding Window

Failure scenarios/bottlenecks

Redis Failure

Future improvements

Multi-Scope Limits

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock
Try this problem yourself

Reading a solution is not the same as producing one under interview pressure. Design it on the whiteboard and get scored feedback.

Asked in these interview guides

Company guides that list this problem among their sample questions.


Markdown supported

0%

Editorial Solution

System requirements

Functional

Capacity estimation

Traffic

API design

Decision API

Database design

Rule Configuration (PostgreSQL)

High-level design

Architecture Overview

Request flows

Allow/Deny Decision Flow

Detailed component design

Atomic Operations With Lua Scripts

Trade offs/Tech choices

Token Bucket vs Sliding Window

Failure scenarios/bottlenecks

Redis Failure

Future improvements

Multi-Scope Limits

Table of Contents

System requirements

Functional

Capacity estimation

Traffic

API design

Decision API

Database design

Rule Configuration (PostgreSQL)

High-level design

Architecture Overview

Request flows

Allow/Deny Decision Flow

Detailed component design

Atomic Operations With Lua Scripts

Trade offs/Tech choices

Token Bucket vs Sliding Window

Failure scenarios/bottlenecks

Redis Failure

Future improvements

Multi-Scope Limits