SHEET · 12-TRIP-THE-BREAKER

Trip the Breaker

The database goes flaky for a window. Without a circuit breaker, the server's connection pool fills with hung requests. Insert a breaker so failures fast-fail and the server stays responsive.

SLA · success ≥ 35.0% · p95 ≤ 1000 ms · load ~600 req/s
📖 CONCEPT← DRAWING SET
Add a client — every system needs somewhere for traffic to come from.
PARTS · CATALOG
Components
Drag onto the sheet, or click to add. Hover any item for details.
COMPUTE
👤 Client
A client represents the users (or other systems) hitting your service. In Flow, every tick each client fires off a batch of requests into the system.
Think: people pressing 'Send' in an app.
LatencyHow long this component spends handling each request. ≈ 0 ticks in simulation time. Jitter ±0% adds realistic variation.0 ms
CapacityMax requests this component can work on at the same time. no concurrency limit, derived from capacity ÷ latency. If more requests arrive than this, they get dropped.unbounded
🖥️ Server
A server takes in a request, does work for a few milliseconds, then hands it off (to a database, cache, or back to the client). It can only handle so many requests at the same time — its capacity.
Think: a barista. Fast, but only one drink per hand at a time.
LatencyHow long this component spends handling each request. ≈ 3 ticks in simulation time. Jitter ±20% adds realistic variation.30 ms
CapacityMax requests this component can work on at the same time. ≈ 2667 req/s sustained, derived from capacity ÷ latency. If more requests arrive than this, they get dropped.80 concurrent
DATA
🗄️ Database
A database persists data so it survives restarts. Reads and writes take longer than in-memory work, and databases handle fewer concurrent requests than servers, which makes them a common bottleneck.
Think: a filing cabinet. Reliable, but slower than your desk drawer.
LatencyHow long this component spends handling each request. ≈ 4 ticks in simulation time. Jitter ±15% adds realistic variation.40 ms
CapacityMax requests this component can work on at the same time. ≈ 3000 req/s sustained, derived from capacity ÷ latency. If more requests arrive than this, they get dropped.120 concurrent
RELIABILITY
🔌 Circuit Breaker
A circuit breaker watches the recent error rate to its downstream. If the rate climbs above a threshold, the breaker 'opens' and rejects new requests immediately instead of waiting for them to time out. After a cooldown it half-opens, sends a probe, and either closes (recovered) or stays open (still broken).
Think: an electrical breaker that trips when the line is overloaded — better to disconnect than to burn the house down.
LatencyHow long this component spends handling each request. ≈ 1 tick in simulation time. Jitter ±0% adds realistic variation.10 ms
CapacityMax requests this component can work on at the same time. ≈ 100000 req/s sustained, derived from capacity ÷ latency. If more requests arrive than this, they get dropped.1000 concurrent
Mini Map
Select a node to inspect it.
Press Validate or Run Simulation to see results.