DevTools Logo

Distributed Systems & Network Topology Simulator

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

  1. Load a topology

    Pick a preset — three-tier web app, event-driven pipeline, or Raft cluster — from the dropdown.

  2. Run the simulation

    Press Run to advance the simulation continuously, or Step to advance one tick at a time.

  3. Select a node

    Click any node on the graph to target it with chaos actions in the side panel.

  4. 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.

  5. Read the metrics

    The Metrics tab lists per-node status, latency, error rate, plus circuit breaker phase and Raft leader/split-brain state.

  6. 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

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.