Components
A model is a diagram of components joined by connections. Three components are available today, and between them they cover the classic queueing systems.
Entities#
Everything that moves through a model is an entity: one request, one order, one packet, one customer. Entities are created by a generator, wait in queues, are served by servers, and eventually leave the model — either completed, having reached a component with nothing after it, or dropped, if they were turned away along the way.
Each entity carries the moment it was created, which is what lets the simulator report how long entities took to travel through the system end to end.
The building blocks#
Each component has its own settings, its own behaviour when the component next to it is not ready, and its own set of live charts. The pages above cover all three.
Anatomy of a model#
The natural chain is Generator → Queue → Server. The generator sets the pace at which work arrives, the server sets the pace at which it is done, and the queue absorbs the difference between the two. That single chain is the classic single server queueing system, and it is enough to reproduce most of the behaviour people find surprising about real systems — for instance that waiting time climbs steeply long before a resource is fully busy.
Larger models are repetitions of the same shape. Put several servers behind one queue to model a pool of parallel workers. Chain a second queue and server after the first to model a downstream service, and back-pressure from the second stage becomes visible in the first. Fan a generator out across several queues to split traffic between branches.
How components hand entities to each other — who pushes, who pulls, what happens when the other side is not ready, and how a fan-out is shared — is covered in Connections.