01 / Challenge
The constraint behind the architecture.
The naïve model performed serialization, allocation and routing work per connection. At high fan-out, cost grew with both event volume and subscriber count, making conventional framework abstractions the bottleneck.
02 / Architecture
The decisions that changed the system.
- Move connection handling to a lean event loop rather than one heavyweight execution path per socket.
- Fan out shared immutable buffers by topic so one market update is encoded once.
- Use a compact binary protocol, ring buffers and explicit backpressure instead of repeated JSON allocation.
- Tune the network path and model capacity from measured memory and CPU per connection.
03 / Outcome
What the work established.
The architecture was designed to support 500,000 concurrent connections on a small cluster while preserving operational headroom. The capacity figure is the documented project target; the client has not published an independent audit.