Why architecture matters here
Disruptor fails on wrong wait strategy (CPU burn), sizing (buffer too small), and misunderstanding the model. Architecture matters because mechanical sympathy is the point.
The architecture: every piece explained
The top strip is the core. Producer claims slot. Ring buffer pre-allocated. Sequences producer + consumer cursors. Consumer(s) wait on sequence.
The middle row is tuning. Wait strategies busy / yield / block. Cache-line padding avoid false sharing. Barrier + dependencies consumer graph. Batch processing amortize.
The lower rows are ops. Configurations single vs multi producer. Metrics. Ops — sizing + lifecycle.
End-to-end flow
End-to-end: producer publishes event to slot. Consumer waits on sequence via busy-spin. Consumer batches available events. Barrier waits for upstream consumer for pipelines. Throughput 6M+ ops/sec on one core.