āϞāĻžāĻāĻ: https://msilabs.github.io/scaling-simulator/
āĻā§āϰāĻžāĻĢāĻŋāĻ, āĻ ā§āϝāĻžāĻĒ āϏāĻžāϰā§āĻāĻžāϰ, Load Balancer, Cache, Read Replica, āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻāϰ Autoscaling āύāĻŋāϝāĻŧā§ āĻšāĻžāϤā§-āĻāϞāĻŽā§ system design āĻļā§āĻāĻžāϰ āϏāĻŋāĻŽā§āϞā§āĻāϰāĨ¤
- āĻĢā§āϰāĻŋ āĻŽā§āĻĄ: āĻāĻ āĻŽā§āĻšā§āϰā§āϤā§āϰ āĻ āĻŦāϏā§āĻĨāĻž; āύāĻŋāĻā§āϰ āĻŽāϤ⧠āϏāĻŦ āĻŦāĻĻāϞ⧠āĻĻā§āĻā§
- ⧍ā§Ē āĻāĻŖā§āĻāĻž: āϏāĻžāϰāĻžāĻĻāĻŋāύā§āϰ āĻā§āϰāĻžāĻĢāĻŋāĻ, autoscaling āĻāϰ āĻāĻāĻžāĻŽ āĻĒā§āϰāϏā§āϤā§āϤāĻŋ; āĻāĻžāϰā§āĻā§ āĻāĻžāϞāĻŋāϝāĻŧā§ āĻĻā§āĻā§
- ā§ŦāĻāĻž āĻā§āϝāĻžāϞā§āĻā§āĻ: āĻĒā§āϰāϤāĻŋāĻāĻž āĻāĻāĻāĻž āϧāĻžāϰāĻŖāĻž āĻļā§āĻāĻžāϝāĻŧ, āĻŦāĻžāĻā§āĻā§āϰ āĻŽāϧā§āϝ⧠āϏāĻŽāĻžāϧāĻžāύ āĻāϰāϤ⧠āĻšāϝāĻŧ, āĻāϰāĻ āĻ āύā§āϝāĻžāϝāĻŧā§ ā§§âā§Š āϤāĻžāϰāĻž
npm install
npm run dev # http://localhost:3000
npm test # āĻšāĻŋāϏāĻžāĻŦā§āϰ unit test
npm run build:artifact # dist-artifact/index.html (āĻāĻāĻāĻž self-contained āĻĢāĻžāĻāϞ)
node scripts/smoke-test.mjs http://localhost:3000 # āĻŦā§āϰāĻžāĻāĻāĻžāϰ āĻĒāϰā§āĻā§āώāĻž
node scripts/smoke-test.mjs file://$PWD/dist-artifact/index.htmlsrc/lib/model.ts: āĻāĻ āĻŽā§āĻšā§āϰā§āϤā§āϰ āĻšāĻŋāϏāĻžāĻŦ (pure function) āĻāϰ āĻāϰāĻsrc/lib/timeline.ts: ⧍ā§Ē āĻāĻŖā§āĻāĻžāϰ āĻāĻžāĻāĻŽāϞāĻžāĻāύ, autoscaler, āĻā§āϰāĻžāĻĢāĻŋāĻā§āϰ āϧāϰāύsrc/lib/challenges.ts: āĻāϝāĻŧāĻāĻž āĻā§āϝāĻžāϞā§āĻā§āĻ, āϞāĻā§āώā§āϝ, āĻŦāĻžāĻā§āĻ, āϤāĻžāϰāĻžsrc/components/: UI (Simulator.tsxāϏāĻŦ āĻā§āĻĄāĻŧāĻž āĻĻā§āϝāĻŧ)tests/sim.test.ts: unit testscripts/build-single-html.mjs: Tailwind CSS āĻāϰ esbuild bundle āĻāĻāĻāĻž HTML-āĻ āĻĸā§āĻāĻžāϝāĻŧ