Škálovateľná architektúra je návrh systému, ktorý vie zvládnuť rastúci počet používateľov alebo údajov bez toho, aby sa musel celý prerobiť. Škálovať sa dá pridaním výkonu jednému serveru alebo rozložením záťaže na viac serverov.
Aké druhy škálovania existujú?
| Druh | Čo znamená |
|---|---|
| Vertikálne | Silnejší server, teda viac pamäte a výkonu procesora. Je jednoduché, no má svoj strop |
| Horizontálne | Viac serverov, medzi ktoré sa rozdeľuje záťaž. Vyžaduje architektúru, ktorá s tým počíta |
Aké techniky pomáhajú?
- Vyrovnávacia pamäť. Cache ukladá už vypočítané odpovede, takže ich server nemusí vytvárať znova.
- Sieť na doručovanie obsahu. CDN servíruje súbory z blízkych serverov.
- Rozloženie záťaže. Load balancer rozdeľuje požiadavky medzi viac serverov.
- Optimalizácia databázy. Indexy, efektívne dopyty a podľa potreby repliky databázy.
- Fronty úloh. Náročné činnosti, napríklad odosielanie e-mailov, sa spracujú na pozadí.
Kedy to web potrebuje?
Pre bežný firemný web s niekoľkými stránkami škálovateľná architektúra nie je potrebná, pomôže dobrý hosting, cache a CDN. Zložitejšie návrhy dávajú zmysel pri portáli, e-shope alebo webovej aplikácii s veľkým počtom súčasných používateľov. Prehnaná príprava na rast, ktorý nenastane, zbytočne zvyšuje náklady.
Čo si zapamätať o pojme škálovateľná architektúra?
Škálovateľná architektúra umožňuje, aby systém zvládol rastúcu záťaž bez prerábania. Využíva cache, CDN, rozloženie záťaže a optimalizáciu databázy. Pre menší web býva zbytočná, no pre portály a aplikácie je dôležitá. Vhodnú architektúru vám vieme navrhnúť, kontaktujte nás.
Ako to rieši webstrankanamieru.sk: Pri tvorbe webu na mieru sa pojem škálovateľná architektúra rieši v rámci postupu opísaného v sekcii Proces tvorby webstránky. Hotové weby nájdete v portfóliu, orientačné ceny v cenníku a vlastný projekt môžete konzultovať cez kontakt.
Súvisiace pojmy: Cache, CDN, Databáza, Hosting, VPS, Laravel, Webová aplikácia, Webový portál
Často kladené otázky o pojme škálovateľná architektúra
Čo je škálovateľná architektúra?
Aký je rozdiel medzi vertikálnym a horizontálnym škálovaním?
Potrebuje ju bežný firemný web?
Čo je load balancer?
Prečo nestačí kúpiť silnejší server?
Zdroje
- Microsoft Learn: Azure Well-Architected FrameworkPrincípy návrhu spoľahlivých a výkonných systémov.
- AWS: Well-ArchitectedOdporúčané postupy návrhu architektúry.
- MDN Web Docs: HTTP cachingVyrovnávacia pamäť v HTTP.