Een website verwerkt duizend gebruikers. En dan een miljoen. Gaat de website crashen? Schaalbaarheid is het vermogen van een systeem om steeds grotere hoeveelheden werk te verwerken. Het kan groeien door extra resources toe te voegen (horizontale schaalbaarheid) of door bestaande resources krachtiger te maken (verticale schaalbaarheid). Een schaalbaar systeem crasht niet wanneer de vraag toeneemt.
Verticale schaling is eenvoudiger. Voeg meer RAM, een snellere CPU en een grotere schijf toe. Maar er zijn grenzen. Je kunt niet oneindig veel RAM toevoegen. Horizontale schaling is complexer. Voeg meer machines toe en verdeel de belasting. Dit vereist load balancers, gedistribueerde databases en stateless services. Maar het kan vrijwel onbeperkt schalen.
Schaalstrategieën
- Horizontaal: voeg meer servers toe
- Verticaal: bestaande servers upgraden
- Taakverdeling: het verdelen van het verkeer.
- Caching: verminder herhaald werk
- Sharding: het verdelen van data over meerdere machines.
Schaalbaarheid gaat niet alleen over hardware, maar ook over architectuur. Een slecht ontworpen systeem zal niet schaalbaar zijn, ongeacht hoeveel servers je eraan toevoegt. Een goed ontworpen systeem kan groeien van een startup tot een wereldwijd platform. Ontwerpbeslissingen die in een vroeg stadium worden genomen, bepalen hoe ver je kunt komen.
Comments
No comments yet. Be the first to share a thought.
Leave a comment