Race weekscene 18 / 26~3 min
Events, and who is listening
One crossing, three consequences, zero introductions.
When Case crosses the mat on Sunday, three different things happen, and the mat’s side of the system will not know about any of them, not their names, not their number, not whether they exist at all. That ignorance is a design. The prettiest one on the wall.
What the ingest service publishes is an eventConcept · lights on your mapeventA statement that something happened, published as data for whoever cares: a fact, not an instruction. The publisher does not know who is listening, which is exactly what makes events architectural glue.: a fact, stated once. Runner 11208 crossed mat six at 11:06:02. Not an instruction, not a request, no addressee. Just the fact, published, for whoever cares.
The side stating facts is the producerConcept · lights on your mapproducerThe side that publishes an event. It does not know which consumers exist, or whether any do., and the sides reacting are consumerConcept · lights on your mapconsumerThe side that subscribes to events and reacts. Many consumers can react to one event, and none of them knows the producer.s, and on Sunday there are three of the latter for every crossing: results updates the table, notifications tells Molly’s phone, projection recomputes the finish estimate. The push itself rides Semaphore, the email vendor from registration morning. Three consequences, one fact, and the mat’s ingest knows the names of none of them.
The pattern, and why Dana loves it
The arrangement is publish/subscribeConcept · lights on your mappublish/subscribeProducers publish events to a named channel; any number of subscribers receive them. Who-says is decoupled from who-hears, and adding a new reaction means adding a subscriber, never changing the publisher., pub/sub in every conversation, and the channel a fact is published to is a topicConcept · lights on your maptopicA named channel of events. Producers publish to a topic; consumers subscribe to the topics they care about.: crossings, registrations, payments, each a named stream of facts. The reason product people love the pattern as much as engineers do is what it makes cheap. The cheer feature from Act II? A subscriber to crossings, added without the ingest path changing by a comma. Next year’s feature, whatever it is, will be another subscriber. The mat produces facts; the future consumes them; neither has to be consulted about the other.
This is also, finally, the full anatomy of the mat’s half-second. The synchronous spine runs to 38 milliseconds, recorded, answered. Everything after is consumers, hearing the fact at their own pace, which is why Molly’s phone at 480 milliseconds was never on the critical path and why the timing could stay perfect on a morning the map did not. You have known the rows since Act 0. Now you know the physics.
Facts, flowing outward. What stands between all of this and the open internet is the front door, and it is not one thing.
End of scene
This scene covers: event, producer, consumer, publish/subscribe, topic, SNS