Build system diagrams: the basics
Small, visual exercises. Each one describes what a service has to do; you put the right parts into the slots, run the test, and see why every part is there. Start simple, add one idea at a time. Your stars are saved in this browser.
-
Client, server, database
★★★The smallest real web app: where a request starts, who handles it, and where data is kept.
Level 1 -
Slow work in the background
★★★The form must answer at once, but the real work takes ten seconds and must never be lost.
Level 1 -
One server is not enough
★★★Traffic grew past what one machine can take, and the service must survive a dead server.
Level 2 -
Many reads, few writes
★★★A product catalogue is read a hundred times for every change. The database is getting tired.
Level 2 -
Images for the whole world
★★★The same pictures are viewed from every continent, and far-away users wait too long.
Level 2 -
Never lose the data
★★★If the database machine burns down, the data must survive and the service must keep running.
Level 2 -
The order rush
★★★A sale sends ten times the normal traffic for one hour. Orders must not be lost, even if the order processor can't keep up.
Level 3 -
Put it all together
★★★A service with heavy reads, writes that must never be lost, and users everywhere. Several ideas in one system.
Level 3 -
Survive the failures
★★★No hints about parts this time. The ops team lists four things that happened this year; your design must get through all of them.
Level 4 -
Who answers the request?
★★★The database now has a leader and a replica that runs a second or two behind. For each request, pick who answers it: a stale answer where it matters, or load on the leader where it doesn't, both cost you.
Level 5 · Trade-offs