The Tower, Again
Mira, in London, types see you tomorrow to her friend Anaya, who is in Jakarta, and presses enter. There is no new agreement in this chapter. You have built the whole thing, three parts and close to fifty rungs, and what remains is to climb through all of it once, following this one message, so that you can see it entire.
Mira’s Courtyard app has a connection open. It is a long-lived one, from Part I Chapter 13, held by the connection tier of Part III Chapter 10, and kept alive through her router’s NAT by a heartbeat, from Part II Chapter 3. She is on a phone, so that connection survived her walk from the kitchen to the sofa only because it is named in a way that outlives a change of address, or was re-established when it was not, as the Part II sidebar described.
She presses enter. The message is shaped, with a sender, a text, and a timestamp, following the evolution rules of Part I Chapter 19 so that Anaya’s possibly older client can read it. It is a chat frame, with a type, a length, and a body, from Part I Chapter 18. It carries an idempotency key, so that if the network eats the acknowledgement and her phone resends, Anaya will not see it twice, from Part I Chapter 20. And it is encrypted, from Part I Chapter 21.
The encrypted bytes go down to the reliable stream, which was the choice of Part I Chapter 17, since every byte of a message matters. The stream numbers them, from Chapter 11, on a connection opened long ago with a handshake on unpredictable numbers, from Chapter 12, never sending faster than the far end can take, Chapter 14, or the path can carry, Chapter 16, and keeping copies until they are acknowledged, Chapter 11 again. Ports are stamped on, from Chapters 7 and 8. A location header is added, pointing towards Courtyard’s front door, from Chapter 5, and the router’s identity is resolved and cached, from Chapter 6. Then a frame, with marker, addresses, and check, from Chapters 2, 3, and 4, and Mira’s card puts it on the wire as bits, from Chapter 1, and the machinery of Part I Chapter 23 does all of this without interrupting her phone’s processor to death.
The frame reaches the box that Mira does not own and cannot see, from Part II Chapter 1. No one holds the map. Each router forwards the frame one hop closer, by prefix, on tables built from gossip, from Part II Chapter 2, possibly across borders decided by business contracts, from the Part II interlude. The box promises nothing; the message might be reordered, dropped, or delayed, and it is Part I’s tower at the two ends that makes it reliable anyway, which is Part II Chapter 1 with its contract read backwards. It crosses to a datacentre whose address may be anycast to the nearest of many, from Part II Chapter 7, a quarter of a second of the planet’s width away, with a floor set by the speed of light, from Part II Chapter 6.
It arrives, but arriving now means arriving at a whole city of machines. First the gateway, from Part III Chapter 15, where TLS is terminated, Mira is authenticated, the rate limit is checked, and a trace ID is stamped on so that the whole journey can be reconstructed later, from Chapter 18. It is routed, from Chapter 6, to the chat service, one of a fleet behind a load balancer, also Chapter 6, stateless so that any of them can take it, from Chapter 7, while Mira’s connection is held on one specific machine, because a connection is pinned state, from Chapter 10.
The chat service needs to reach Anaya, who is not on this machine. It looks her up in the presence registry and learns that Anaya is on connection server 34, in the Jakarta region, from Chapter 10. Her home data lives in the region that owns it, from Chapter 12. The message is written to a database that is sharded by conversation, from Chapter 4, and replicated, from Chapter 3, with the partition choice made for chat, from Chapter 5: available, because a message slightly out of order beats a message that fails to send. The write and the publish are made atomic by the outbox, from Chapter 17, because the message must both persist and be delivered. It is fanned out, from Chapter 11. A copy of Anaya’s display name, denormalised into Mira’s view, was read from the cache of Chapter 8 rather than fetched across services, from Chapter 14. Every call along the way had a timeout, a deadline propagated from the edge, a retry with backoff if it failed, and a circuit breaker if the callee was sick, from Chapter 16, and every one of those calls, and the four seconds if it had been slow, is a span in a trace, from Chapter 18.
Server 34 in Jakarta, holding Anaya’s connection, is handed the message, by the server-to-server hop of Chapter 10, and now everything runs in reverse.
Down server 34’s Part I tower: encrypt, stream, number, frame, bits. Across the box again, this time the short hop from the Jakarta datacentre to Anaya’s phone, through her provider’s NAT, from Part II Chapter 3, and over her phone’s radio with its amended contract, from the Part II sidebar. Then up Anaya’s tower. The card assembles the frame, checks it, and strips it; the operating system reassembles the stream, in order, discarding any duplicate, from Part I Chapters 10 and 11; the connection tier delivers it to her app; the security layer decrypts and verifies, from Chapter 21; the app parses the body, ignoring any field it does not recognise, from Chapter 19; and it is a text message.
see you tomorrow appears on Anaya’s screen. Her phone sends an acknowledgement, and if the dot next to Mira’s name is green, that is the same heartbeat that keeps the NAT open, read as presence, from Part I Chapter 13 and Part III Chapter 10.
Sender · Application — shape: sender, text, time
The message is wrapped floor by floor going down, carried across a box that promises almost nothing, and unwrapped floor by floor going up. The full list of rungs, each linking to the chapter that earned it, is in the rail beside this page.
The complete tower, every rung of all three parts, with Mira’s message traced from top to bottom in London, across the box, and from bottom to top in Jakarta. Any rung leads to the chapter that built it and the failure that earned it. Fifty agreements, one message, from one keyboard to one screen half a world away.
Count what had to be true for four words to cross the planet. Two machines had to agree on what a lit wire means, on where a message starts, and on whether it arrived intact. They had to name programs and conversations, and wait on two things at once. They had to number pieces and put them back together, agree where the numbering starts, notice when the other side went silent, slow down for a slow receiver and for a busy path, choose between reliability and speed, agree what the bytes mean and how that meaning may change, agree whether a lost reply may be retried, and keep it all secret from a wire full of strangers. They had to hand the message to a box that neither of them owns, that promises almost nothing, that heals its own breaks by gossip, routes by business contract, and is bounded by the speed of light. And on the far end a city of machines had to spread load, hold a million connections, find the one recipient among them, shard and replicate and cache and fan out, survive its own constant partial failure, coordinate the few facts that need exactly one owner, and record the whole thing so that a human could later ask where the time went, all while forty teams changed all of it, independently, without breaking each other.
Every one of those was an agreement, and every one was added because without it something you had already built broke. None of it is there for its own beauty; all of it is there because it was necessary, and you watched each necessity arrive. A network is a tower of agreements, and you built the tower, and you can name every floor, and you have just traced one message through all of them.
Some honesty is owed at the end. Courtyard’s story compressed and idealised a great deal. Real systems do not move through these stages so cleanly; they hit several walls at once, in the wrong order, under deadline. Real databases blur the lines this book drew sharply between replication and sharding and consensus. Real companies discover their service boundaries by getting them wrong first. The numbers were round, the failures came one at a time, and every chapter’s fix was cleaner in the telling than in any incident channel at three in the morning.
The map onto reality is loose on purpose, too. Courtyard is not YouTube or WhatsApp or Instagram or Discord, but its arc is theirs, and every rung has a real referent. The sidebars named them, chapter by chapter, from Ethernet’s preamble to Spanner’s clocks, from the congestion collapse of 1986 to the GitHub split-brain of 2018. You now have the shape those companies grew into, and the reasons for it, and when a postmortem or a design document or an architecture diagram crosses your desk you will recognise the rungs, and you will know which failure each one was built to survive.
Coming up · Bonus·1 — The Answer Takes a MinuteOne thing changed shape after the book was written: the request that takes a minute to answer, on hardware too scarce to replicate, streaming its reply a token at a time. A third payload, studied against the two you know.
→