About this tool
The Distributed Systems & Network Topology Simulator runs a tick-based, pure-TypeScript simulation of request traffic flowing through a topology you assemble from clients, load balancers, API gateways, microservices, message queues, distributed databases and caches — entirely in your browser, with no real network calls.
Each tick, client nodes originate requests that are routed through the graph: load balancers pick a downstream target (round robin, weighted, or least connections), API gateways and microservices gate traffic through a Hystrix/Resilience4j-style circuit breaker, queues buffer and drain messages at a configured rate, caches serve a TTL-decaying hit ratio, and databases model master-replica, quorum or Raft consensus topologies.
Chaos actions let you kill a node, partition it from the network, add packet loss (5-50%), inject a latency spike (500ms+), or force a circuit breaker open — then watch per-node status, latency and error-rate metrics react live on the graph and in the metrics tables below it.
Raft-backed databases expose a genuine split-brain lesson: quorumSize configured as a true majority of replicaCount makes split-brain structurally impossible even under a partition, while a misconfigured quorumSize lets two partition groups both elect a leader — the exact failure mode real Raft deployments are built to prevent.
Once you're happy with a topology, the Export tab generates a Docker Compose file, Kubernetes Deployment/Service manifests, and Mermaid or PlantUML architecture diagram code — starter scaffolding to sketch the shape of a real system, not a deploy-ready stack.
How to use
Load a topology
Pick a preset — three-tier web app, event-driven pipeline, or Raft cluster — from the dropdown.
Run the simulation
Press Run to advance the simulation continuously, or Step to advance one tick at a time.
Select a node
Click any node on the graph to target it with chaos actions in the side panel.
Inject chaos
Kill or partition a node, add packet loss or a latency spike, or trip a circuit breaker, then watch the graph and metrics tables react.
Read the metrics
The Metrics tab lists per-node status, latency, error rate, plus circuit breaker phase and Raft leader/split-brain state.
Export the topology
Copy or download Docker Compose, Kubernetes manifests, Mermaid or PlantUML from the Export tab.
Use cases
Teaching quorum and split-brain risk
Show why quorumSize must be a strict majority of replicaCount, by contrasting a safe and an unsafe configuration side by side.
Explaining circuit breaker behavior
Demonstrate the closed → open → half-open → closed state machine without spinning up Hystrix or Resilience4j.
Sketching a topology before building it
Rough out a load balancer / gateway / service / cache / database shape and export a starter Docker Compose or Kubernetes manifest to iterate on.
Chaos engineering intuition
Explore how packet loss, latency spikes and node kills propagate through a request graph before running a real chaos experiment.
Common mistakes
Mistake:Treating the simulation as a real infrastructure test.
Fix:It's a client-side, educational model — see the warning banner. No real services, network calls or infrastructure are involved; use it to build intuition, not to validate a production design.
Mistake:Assuming any quorumSize prevents split-brain.
Fix:Only a quorumSize that is a strict majority of replicaCount (> replicaCount / 2) guarantees a partition can't elect two leaders — a quorumSize of half or less can split-brain.
Mistake:Expecting the exported manifests to be deploy-ready.
Fix:Docker Compose and Kubernetes exports are scaffolding with placeholder images and no resource limits, probes or secrets — a starting point to edit, not a finished deployment.
Frequently asked questions
Related guides
Split-Brain Is a Math Problem: Quorums, Circuit Breakers and Chaos Engineering, Simulated
Why 'majority of replicas' is the entire safety argument behind Raft, how a circuit breaker's three states stop one slow dependency from taking down everything upstream, and what happens when you partition a database on purpose.
Why Your Logic Circuit Needs a Clock: Discrete-Event Simulation, Explained
A truth table tells you the answer eventually — it can't tell you when. Propagation delay, tri-state conflicts and the priority-queue trick that makes a browser-based circuit simulator behave like real silicon.
Related tools
Typography Anatomy & Variable Font Lab
Load a TTF/OTF/WOFF/WOFF2 font and inspect glyph Bézier outlines, baseline/x-height/cap-height guides, kerning pairs, OpenType features and live variable-font axis sliders — export CSS @font-face, font-variation-settings and fallback metric overrides.
Pixel Art Sprite Studio
Draw retro pixel art on an 8x8 to 64x64 grid with pencil, flood-fill, ordered-dither and symmetry tools, curated PICO-8/Game Boy/NES/C64/Endesga-32 palettes, multi-layer compositing, and a frame timeline with onion skinning. Export static PNG, animated PNG, GIF, a sprite-sheet atlas (Pixi/Phaser/Godot/Unity JSON), or a CSS steps() animation snippet.
Digital Logic Gate & Circuit Simulator
Build digital circuits from AND/OR/NOT/NAND/NOR/XOR/XNOR gates, tri-state buffers, switches, clocks and 7-segment displays; wire flip-flops, latches and multiplexers into adders and counters. Runs an event-driven propagation-delay simulation with High-Z and driver-conflict detection, packages sub-circuits into reusable ICs, and exports a truth table, K-Map minimization, Verilog, VHDL, and a documented JSON+SVG schematic. Everything runs client-side; circuits never leave the browser.
2D Fluid Dynamics & Particle Physics Sandbox
A physics playground with two engines sharing one canvas. The fluid mode runs a real Eulerian Navier-Stokes solver — semi-Lagrangian advection, explicit diffusion, Jacobi pressure projection and vorticity confinement — that you paint with dye and velocity using mouse or touch. The particle mode is a damped Verlet N-body engine with gravity wells, Coulomb attractors and repulsors, spring links, wall restitution and elastic circle collisions. Particle counts adapt to the device (100k target on WebGL2 desktop, 2k-5k on CPU fallback), and every configuration exports as runnable code: a Matter.js world, a PixiJS ticker setup, or a standalone vanilla Canvas engine.
GLSL Shader Art & Visual FX Playground
A live GLSL fragment-shader laboratory running on WebGL2 with the full Shadertoy uniform set (iResolution, iTime, iTimeDelta, iFrame, iMouse, iChannel0..3). Write shaders with syntax highlighting and see them recompile on every keystroke, with compiler errors mapped back to your line numbers and highlighted in the editor, plus a live FPS counter. The gallery ships raymarched spheres, tori and a Mandelbulb fractal, Voronoi and FBM procedural noise, cyberpunk grids, plasma waves, a neon audio visualizer and matrix rain. Export any shader as Three.js ShaderMaterial code, a React Three Fiber component, a standalone single-file WebGL2 HTML page or plain GLSL — or record the canvas straight to WebM video. A Canvas2D plasma fallback keeps the tool usable where WebGL2 is unavailable.
Web Audio Modular Synthesizer & Sound FX Generator
A full synth voice designer running entirely in your browser: seven oscillator flavors (sine, saw, triangle, square with real PWM duty control, white/pink/brown noise), a visual ADSR envelope, resonant biquad filtering, an LFO routed to pitch, filter or gain, and an effects chain of tanh overdrive, stereo ping-pong delay and Schroeder reverb. Play the two-octave keyboard with your mouse, the printed computer keys (A W S E D…) or a Web MIDI controller, watch the live FFT spectrum and scrolling waterfall spectrogram, fire retro game SFX one-shots (jump, laser, coin, powerup, explosion, click), then export your sound as 8/16/24-bit WAV or as dependency-free Web Audio code you can paste into any project.