Hostíme webové stránky, ktoré siahajú od samostatných blogov a malých obchodov s elektronickým obchodom až po obrovské publikácie WordPress a obchody Magento so stratosférickou úrovňou návštevnosti. Vďaka rôznym konfiguráciám infraštruktúry, ktoré ponúkame, dokážeme vyhovieť tak rozmanitému rozsahu požiadaviek na hosting. V tomto článku by som chcel diskutovať o tom, ako dokážeme hostiť najväčšie stránky s vysokou návštevnosťou a udržať ich výkon rýchlejší, ako väčšina hostiteľov sníva.
Najprv sa pozrime, ako sú hosťované malé stránky a obchody. Najekonomickejšou možnosťou pre stránky s nízkou návštevnosťou je zdieľaný hosting. To znamená, že na rovnakom serveri je hosťovaných veľa stránok. Procesory, pamäť a úložisko sú zdieľané medzi týmito lokalitami. Fyzické servery sú oveľa výkonnejšie ako priemerné PC, ale sú zhruba porovnateľné.
Malé stránky sa často rozrastú na veľké stránky s veľkou návštevnosťou. Tieto stránky nefungujú dobre v prostredí zdieľaného hosťovania – využívajú príliš veľa zdrojov. Stredne veľké stránky sú hosťované na dedikovaných serveroch. Všetky zdroje servera sú dostupné na jednej lokalite. Pre všetky okrem tých najväčších stránok a obchodov stačí dedikovaný server vybavený našimi optimalizáciami. V prípade veľmi veľkých lokalít však musíme ísť ešte viac, než je obrovský serverový hardvér podnikovej triedy, ktorý používame.
Servery sú len také veľké. Po určitom bode nemá zmysel jednoducho pokračovať v inovácii na väčší server. Niekedy neexistujú väčšie servery a niekedy nie je jeden server najefektívnejšou možnosťou. Pre stránky, ako sú tieto, je najlepšou voľbou serverový klaster. Presne tak to znie – namiesto jedného servera existujú dva alebo viac serverov. Ako si viete predstaviť, klastre serverov môžu mať veľa rôznych konfigurácií, takže budem diskutovať o jednej z najbežnejších.
Aby stránka s vysokou návštevnosťou fungovala dobre, mala by byť schopná rýchlo reagovať na prichádzajúce požiadavky od používateľov. Každá z týchto požiadaviek môže zaberať veľa pamäte, niekedy viac, ako je k dispozícii na jednom serveri. V tomto prípade by sme mohli pridať jeden alebo viac ďalších webových serverov a presunúť ďalšie funkcie kritické pre lokalitu, ako je databázový server a súborový server, na samostatné počítače.
Povedzme, že teraz máme tri webové servery. Prichádzajúce požiadavky sa šíria medzi servermi. Výber servera, na ktorý chcete odoslať konkrétnu požiadavku, je zložitý a existuje veľa spôsobov, ako ho usporiadať, ale kvôli jednoduchosti myslite na posielanie požiadaviek postupne na každý server. Každá nová požiadavka sa odošle na ďalší webový server. Samozrejme, potrebujeme spôsob, ako rozhodnúť, ktorý webový server dostane každú odpoveď – to je úloha vyrovnávača zaťaženia. Vyrovnávače zaťaženia sedia pred webovými servermi a posielajú im požiadavky.
Pretože je teraz oveľa väčšia kapacita webového servera, každá požiadavka môže byť vybavená včas. Požiadavky zasiahnu nástroj na vyrovnávanie zaťaženia, odošlú sa na jeden z webových serverov, ktorý zhromažďuje informácie z databázy a súborového servera a odošle odpoveď. Ak zaťaženie pripočítava viac ako tri webové servery, ktoré dokážu zvládnuť, je relatívne jednoduché pridať ďalší webový server.
Sústredil som sa tu na webový server, ale podľa potreby je možné do klastra pridať nové databázové servery, súborové servery a vyrovnávače zaťaženia, čo je súčasť toho, čo robí klaster tak flexibilným.
Enterprise Magento Clusters a WordPress Clusters spolu s našimi odbornými znalosťami v oblasti budovania vysokovýkonných systémov pre aplikácie PHP, ako sú WordPress a Magento, sú jedným zo spôsobov, ako podporujeme niektoré z najväčších publikačných a elektronických obchodov. Naša sesterská značka, Tekutý webtiež ponúka niekoľko vlastných serverových klastrov, ktoré ponúkajú spravovanú vysokú dostupnosť a vysoký výkon.