Basic System Component · Easy
Design a URL Shortening Service like Bitly
Drag a component from the left onto the canvas
Scenario brief
Goal
Design a Bitly-style URL shortener: turn a long URL into a short link, and redirect when that short link is opened.
Functional requirements
- Create: long URL → short code / short URL.
- Redirect: open short URL → 301/302 to the long URL.
- Custom aliases and click analytics are out of scope for this Easy canvas.
Non-functional requirements
- Redirects must be very fast (this is the hot path).
- Short → long mappings must survive restarts (durable storage).
- System should stay available when traffic spikes on popular links.
Scale assumptions
Assume ~100M new links/month and ~10× more redirects than creates. Design first for redirects.
Your canvas task
Draw create + redirect at high level: how traffic enters, where mappings live, and how redirects stay fast.
Capacity check (optional)
Optional — 2 quick estimates from the scale above. Skip anytime; skipping does not fail you, it only skips a small bonus.
1.~100M new links per month. About how many creates per second on average?
2.Redirects ≈ 10× creates. If creates are ~40/s, about how many redirects/s?