Skip to main content
A stream with two consumer groups, a fan-out topic, a websocket tier, a sidecar, a lambda and a cron burst. Watch consumer lag grow, cold starts spike on the quarter-minute, and connections, not requests, run out.

What to watch

Everything on the left is a caller waiting for an answer. Everything on the right runs after that answer was already sent. One event becomes five pieces of work here, each read by its own consumer. Turn the load up and watch the audit log: it takes 40ms a message and falls behind while the four beside it keep up, and nobody calling the API sees a thing. The report function starts cold. The first call after a quiet spell pays 350ms of startup, then stays warm for ten seconds. Watch the first burst after the timer fires.

What it is made of

Under load

Measured by running this design through the simulator at multiples of its own offered rate of 90 requests a second. Twenty seconds of simulated time, one fixed seed, so the same numbers come out every time.

Open this example

Load Event-driven backend from the Examples menu and drag the traffic slider yourself.