Beej's Guide to Network Programming (beej.us) · Brian "Beej" Hall
The sockets API every server is built on, including the partial sends that bite real programs.
Plans / Plan 03 · Three months
You end up withYou can explain what happens between a request arriving on a socket and a row being committed, and what breaks when there's more than one server.
The sockets API every server is built on, including the partial sends that bite real programs.
The lookup before every connection, built as a resolver you can watch.
A Redis-like server on top of those sockets: an event loop, a hashtable, sorted sets, TTLs. The shape of most caches and many servers.
A storage engine: a pager and an on-disk B-tree, the structure behind most database indexes.
How a real database makes a transaction atomic, followed through the Postgres source.
Nodes that Maelstrom breaks with partitions and delays. It's the bridge from one server to several.
TLS (the networking course's Stage 4) and the full database books. The first is in the security plan; the second is the databases course itself.
The databases course from step 6, or the distributed systems course from step 2 (Raft).