Every device on the ring publishes messages to one central broker at its own rate; the broker holds them in a first-in-first-out queue and drains that queue at a fixed processing throughput, fanning each processed message out to several subscribers on the outer ring. This is the hub-and-spoke architecture underneath MQTT brokers, Kafka topics and every managed IoT platform (AWS IoT Core, Azure IoT Hub) — one ingestion point, many consumers.
λ = devices × publishRate (arrival rate)
μ = throughput (service rate)
queue grows without bound when λ ≥ μ
avg latency ≈ 1 / (μ − λ) (λ < μ, M/M/1 approx.)
- Connected devices — how many endpoints are publishing; more devices raise the total arrival rate λ even if each one is quiet.
- Publish rate / device — how chatty each device is; sensors reporting more often push λ up linearly.
- Broker throughput — the service rate μ the broker can sustain; this is what scaling the platform (more broker instances, partitions) actually buys you.
- Fan-out per message — how many subscribers each processed message is delivered to; it doesn't affect the queue itself, but shows why the delivery side of a platform must scale independently of ingestion.
- Saturation point — once λ reaches μ, the queue tower keeps growing and latency diverges; this is the exact failure mode capacity planning for an IoT platform has to stay ahead of.