Tri najpopulárnejšie webové servery. W3Tech: podiel nginx vo svete narástol na tretinu, Apache klesol pod polovicu

Pred pár mesiacmi som v jednom z mojich predchádzajúcich článkov zverejnil zaujímavé údaje z comScore, ktorý počíta . Ak čítate tento článok, pravdepodobne si pamätáte, že Rusko sa stalo lídrom v Európe, pokiaľ ide o počet používateľov internetu. Takže dnes vám chcem poskytnúť niekoľko zaujímavých údajov, ale od inej, nemenej populárnej spoločnosti - od spoločnosti Netcraft. Dnes zistíme, koľko stránok je na internete a ktoré webové servery sú najpopulárnejšie na svete.

Podľa Netcraftu bolo k januáru 2012 na internete až 582,72 milióna stránok – to je o 27,23 milióna alebo 4,9 % viac, ako bolo zaznamenané o mesiac skôr, teda v decembri 2010. Ako vidíte, každý mesiac World Wide Web len rastie, vďaka čomu sa informačný priestor našej planéty zväčšuje a zväčšuje. A všimnite si, že to nie je limit. Odborníci predpovedajú, že počet používateľov a počet stránok na internete sa bude naďalej zvyšovať a tento rast bude výrazný – minimálne v najbližších rokoch.

Výpočty Netcraftu tiež ukazujú, že web- server Apache je aj naďalej najpopulárnejší na svete – v januári 2012 bol jeho podiel na trhu až 64,91 %.

A tak vo všeobecnosti prvé tri vyzerajú takto:

  • Apache - 64,91 % (v decembri 2010 to bolo 65,22 %);
  • Microsoft - 14,46 % (14,86 %);
  • nginx - 9,63 % (8,85 %).

Ukazuje sa, že v súčasnosti len ruský webový server nginx zvyšuje svoj podiel na trhu, zatiaľ čo lídri ho strácajú, aj keď veľmi pomalým tempom. Zároveň je potrebné poznamenať jeden dôležitý bod - ak sa pri štatistických výpočtoch zohľadňujú iba aktívne internetové stránky, do konca januára 2012 webový server nginx mierne, ale stále predstihol webový server spoločnosti Microsoft v hodnotení.

  • Apache - 57,93 % (pred mesiacom 58,21 %);
  • nginx - 12,18 % (11,61 %);
  • Microsoft - 12,14 % (12,31 %);
  • Google – 7,90 % (8,13 %).

V tomto prípade tiež rastie podiel na trhu iba pre webový server nginx, zatiaľ čo zvyšok pomaly stráca svoje pozície. Ale len pred rokom, v januári 2011, bol trhový podiel ruského webového servera na úrovni približne 8,23 %, v dôsledku čoho obsadil v rebríčku iba štvrté miesto za Microsoftom (16,76 %) a dokonca aj Google (11 90 %). Vidíme teda vážny nárast popularity nginx a ako hovoria jeho predstavitelia, tento rast je nezvratný – minimálne do konca roka 2012 očakávajú zvýšenie svojho trhového podielu na 18 %. Cieľ je reálny, tak im prajeme veľa šťastia.

A na dosiahnutie týchto cieľov bola v lete 2011 vytvorená spoločnosť Nginx Inc., ktorá bude teraz vykonávať všetky práce na projekte nginx. Zároveň na jeseň toho istého roku 2011 táto spoločnosť získala veľmi slušnú investíciu (3,0 milióna dolárov), takže by ste nemali byť prekvapení, ak webový server nginx do konca roka 2012 stále zvyšuje svoj trhový podiel na očakávanú úroveň 18 %. Ostáva nám teda len čakať a sledovať novinky.

|

Aplikácie vyvinuté v Ruby je možné nasadiť všeobecný prístup pomocou jedného z mnohých webových serverov. Každý webový server je jedinečný a má svoje výhody, no všetky majú jedno spoločné: sú založené na rozhraní Rack.

Tento článok naznačuje krátka recenzia obľúbené webové servery pre aplikácie Ruby a tiež vám predstavia špecifikáciu Rack a middleware.

Poznámka: Viac detailné informácie môžete sa dozvedieť o middleware.

Rackové rozhranie

V dnešnom svete vývoja webových aplikácií je nevyhnutná schopnosť kombinovať vhodné webové servery a iné programy a technológie. V skutočnosti je to jeden z najžiadanejších aspektov akéhokoľvek programovacieho jazyka alebo rámca. Snáď najjednoduchším príkladom je vývojové, testovacie a produkčné prostredie aplikácie – všetky by mali byť odlišné.

Na tento účel bol v roku 2007 vydaný Rack, modulárne rozhranie pre webové servery Ruby. Dnes ho používa mnoho webových serverov a frameworkov (Espresso, Mack, Ruby on Rails, Sinatra atď.).

Napriek konvenciám pomenovania a rôznym vysvetleniam pre rôzne programovacie jazyky a domény sú špecifikácie interoperability aplikácií veľmi podobné (ak nie identické). Hoci na rozdiel od špecifikácie Python WSGI, ktorá inšpirovala Racka a mnohé ďalšie špecifikácie, Rack je tiež middleware.

medziprodukt softvér Rack (dostupný ako drahokam) implementuje špecifikáciu Rack; rozdelí prichádzajúce HTTP požiadavky do rôznych etáp, následne ich spracuje po častiach a následne odošle odpoveď webovej aplikácii (kontroléru). Program Rack sa skladá z dvoch samostatných komponentov: handler a adaptér, prostredníctvom ktorých dochádza k výmene dát medzi webovými servermi a aplikáciami (frameworks).

Prehľad webových serverov pre Ruby

Teraz môžete hovoriť o najpopulárnejších moderných webových serveroch, pochopiť ich funkcie a vybrať si najvhodnejšie riešenie pre vašu aplikáciu.

Poznámka: Webové servery sú uvedené v abecednom poradí.

Phusion Passenger: Rýchly webový a aplikačný server

Mnoho vývojárov Ruby on Rails odporúča používať Passenger na podporu aplikácií. Je to vyspelý a na funkcie bohatý server, ktorý spĺňa najnáročnejšie požiadavky na nasadenie a uľahčuje inštaláciu a spustenie aplikácie. Eliminuje tradičnú architektúru proxy servera priamou integráciou do webových serverov Apache a Nginx. Preto sa v komunite Ruby (Rails) často označuje aj ako mod_rails a mod_rack.

Vlastnosti pre cestujúcich

Passenger poskytuje možnosť pracovať s viacerými aplikáciami umiestnenými na rovnakom serveri.

Podporuje tiež prácu s pomalými klientmi. Passenger ukladá všetky požiadavky a odpovede, aby zabránil útokom, ktoré upchávajú systémové zdroje.

Webový server Passenger je veľmi populárny a často sa používa v produkčnom prostredí. Okrem toho má aktívnu komunitu, kde môžete veľa získať užitočné tipy a tipy. Spoločnosť Passenger development ponúka komerčnú podporu.

Verzia pre cestujúcich s otvoreným zdrojový kód poskytuje viacprocesový jednovláknový režim a komerčná verzia podporuje jednovláknové a viacvláknové režimy.

Komerčná verzia tiež poskytuje mnoho "pokročilých" funkcií: paralelizmus, multithreading, hromadné nasadenie, správu zdrojov, obmedzovanie zdrojov atď.

Poznámka: Viac informácií o Passenger nájdete na webovej stránke projektu. O spoločnosti Passenger Enterprise - .

Puma: Moderný webový server pre Ruby

Puma je vysoko výkonný webový server pre aplikácie Ruby. Je založený na webovom serveri Mongrel, ktorý pridal niekoľko revolučných funkcií a v mnohých smeroch ovplyvnil vývoj aplikácií Ruby. Vývojár Puma (Evan Phoenix) transformoval operačnú štruktúru Mongrelu prechodom na Rack (a tým eliminoval niektoré problémy s výkonom) a vyvinul aplikáciu na podporu súbežnosti.

Vlastnosti Puma

Puma nevyžaduje veľa miesta a využíva málo zdrojov.

Webový server Puma poskytuje niekoľko režimov prevádzky: umožňuje vám nastaviť minimálnu a maximálne množstvo vlákna a tiež podporuje klastrový režim, kde môžete použiť rozvetvené procesy na súbežné spracovanie požiadaviek.

Je založený na analyzátore Mongrel a do značnej miery zdedil jeho kód.

Webový server Puma je navrhnutý pre Rubinius, ale môže pracovať aj s JRuby

Poskytuje jednoduchú, ale pomerne rozsiahlu a flexibilnú sadu konfigurácií, ktorá uľahčuje prípravu webového servera pre vývoj aj prostredie.

Puma hneď po vybalení nepodporuje hosting a produkciu viacerých aplikácií, ale dá sa to urobiť pomocou špeciálneho nástroja Jungle.

Tenký: jednoduchý a rýchly HTTP server

Tenký je veľmi populárny server aplikácie; jeho tvorcovia tvrdia, že je to najviac "zabezpečený, stabilný, rýchly a rozšíriteľný webový server Ruby". Thin sa aktívne rozvíja. Je založený na troch základných knižniciach Ruby:

  • Parser Mongrel.
  • Sieťová knižnica EventMachine
  • Rack Middleware

Tenké vlastnosti

Thin HTTP Server je navrhnutý tak, aby fungoval s akýmkoľvek rámcom, ktorý implementuje špecifikáciu Rack. Aby to urobil, stiahne sa konfiguračné súbory Rack.

Na základe EventMachine dokáže Thin spracovať dlhé požiadavky bez pomoci reverzného proxy (na rozdiel od niektorých iných webových serverov).

Poznámka: Ak sa chcete dozvedieť viac o Thin, prejdite na webovú stránku projektu.

Unicorn: Rackový HTTP server pre rýchlych klientov a Unix

Unicorn je vyspelý, plne vybavený aplikačný server pre Ruby. Neskôr bol prispôsobený na prácu s Pythonom. Princíp fungovania Unicornu je nasledovný: webový server nevykonáva všetky úlohy, ale len tie, za ktoré je priamo zodpovedný, ostatné úlohy prenáša na iné programy, ktoré ich dokážu lepšie vykonávať.

Vlastnosti jednorožca

Master proces Unicorn vytvára pracovné procesy na spracovanie požiadaviek podľa daných parametrov. Monitoruje tiež pracovné procesy, aby sa predišlo problémom so zdrojmi. To znamená, že ak proces vyžaduje veľa času alebo zdrojov, server ho zastaví pomocou Unicorn.

Ako už bolo spomenuté vyššie, Unicorn používa operačný systém na vyrovnávanie záťaže; na tento účel môže preniesť úlohy na iné služby. Vďaka tomu sa žiadosti nehromadia.

Rovnako ako NGINX, aj Unicorn vám umožňuje nasadzovať aplikácie bez prerušenia súčasných pripojení klientov. Toto je veľmi užitočná funkcia pri aktualizácii aplikácie.

Iné užitočné funkcie Jednorožec:

  • Všetky pracovné procesy bežia v špecifickom izolovanom adresnom priestore a obsluhujú požiadavky jednu po druhej.
  • Háčiky before_fork a after_fork vám umožňujú manipulovať s procesnými vidličkami.
  • Mechanizmus copy-on-write pre správu pamäte šetrí pamäť.
  • Webový server môže počúvať na viacerých rozhraniach.

Poznámka: Viac o Unicorn - .

Značky: ,

Pre bežného používateľa sú pojmy ako „webový server“ alebo „hosting“ spravidla spojené s niečím úplne nepochopiteľným. Medzitým v tejto veci nie je nič zložité. Pokúsme sa vysvetliť, čo je webový server, prečo je potrebný a ako funguje, bez toho, aby sme zachádzali do technických detailov, ale takpovediac na prstoch. Samostatne sa budeme zaoberať otázkou, ako vytvoriť a nakonfigurovať takýto server na domácom počítačovom termináli alebo notebooku.

Čo je webový server?

Najdôležitejšia vec v táto záležitosť- pochopiť, že server tohto typu nie je nič iné ako počítač na internete s nainštalovaným príslušným softvérom.

To však absolútne neznamená, že si nemôžete vytvoriť vlastnú konfiguráciu doma. Keďže máme bežnejšiu prevádzku systémy Windows, otázky o tom, ako vytvoriť webový server na Ubuntu (Linux), nebudú brané do úvahy.

Na čo slúžia webové servery?

Tento typ servera ukladá množstvo informácií na internete. Zároveň sa na nich odvolávajú tie isté antivírusy, aby aktualizovali svoje vlastné databázy. Používateľ má tiež priamy vzťah s takýmito servermi, vytvára požiadavky v prehliadači (hľadanie informácií, prístup na stránku atď.).

Ukazuje sa teda, že všetky stránky prítomné na internete sú uložené na webových serveroch, na ktoré sa na jednej strane odošle žiadosť alebo odvolanie používateľa nainštalovaný program a na druhej strane výsledok vráti samotný server, na ktorý sa pokúšate o prístup.

Ako to celé funguje?

Všetci používatelia sú zvyknutí na to, že na zadanie nejakého zdroja na internete (webovej stránky), ktorý obsahuje informácie určitého typu, sa do panela s adresou jednoducho zadá predpona www (alebo http) a nasledujúci názov. Nikto sa však nezamýšľa nad tým, ako webový server chápe požiadavku a dáva výsledok.

V skutočnosti tu musíte rozlišovať medzi pojmami server a klient. V našom prípade je stránka hosťovaná na internete uložená na vzdialenom serveri. Počítač užívateľa vystupuje ako klient, z ktorého sa uskutočňuje hovor.

Na prístup na internet sa používajú programy nazývané webové prehliadače. Prekladajú požiadavku používateľa do digitálneho kódu, ktorý rozpozná webový server. Server to spracuje a vydá odpoveď v príslušnom kóde a prehliadač už prevedie milióny núl a jednotiek do normálnej podoby s textovými, grafickými, zvukovými alebo video informáciami, ktoré sú umiestnené na stránke.

Najobľúbenejšie webové servery

Zo všetkého serverového softvéru sa za najbežnejšie považujú Apache a Microsoft IIS. Prvý z nich je obľúbenejší a používa sa viac Systémy podobné UNIXu, aj keď sa dá nastaviť na Prostredie Windows. Okrem toho je server Apache úplne slobodný softvér a je kompatibilný s takmer všetkými známymi operačné systémy. Ako však bolo uvedené, tento softvér je určený hlavne pre profesionálnych programátorov a vývojárov.

Softvérový produkt od Microsoftu je určený pre bežného užívateľa, ktorý si takýto webový server pre Windows môže nainštalovať a nakonfigurovať aj bez neho dodatočnú pomoc kvalifikovaný odborník.

Napriek tomu na základe oficiálnych štatistík používa softvér Apache asi 60% všetkých existujúcich serverov, takže otázku inštalácie a nastavenia počiatočnej konfigurácie zvážime na jeho príklade.

Webový server na domácom počítači: inštalácia

Na inštaláciu si budete musieť stiahnuť špeciálny serverový balík, skrátene WAMP, ktorý obsahuje tri hlavné komponenty:

  • apache- škrupina server, ktorý môže pracovať nezávisle, ale iba v prípade, že na hosťovaných stránkach nie je dynamický obsah.
  • PHP je programovací jazyk používaný doplnkami na správu serverov s dynamickým obsahom, ako sú WordPress, Joomla, Drupal.
  • MySQL je jednotný systém správy databáz, ktorý sa opäť používa pri vytváraní webových stránok s dynamickým obsahom.

Inštaláciu je možné vykonať z balíka WampServer. Ak to chcete urobiť, postupujte podľa pokynov „Sprievodcu“, ktorý vás v jednej z fáz vyzve na výber internetového prehliadača, ktorý sa bude štandardne používať.

Ak to chcete urobiť, musíte prejsť do priečinka so spustiteľným súborom prehliadača (ak nie je internet Explorer, ktorý sa zvyčajne nachádza v adresári Programové súbory). Popri tom by mal byť samotný prehliadač pridaný do zoznamu výnimiek brány Windows Firewall. V záverečnej fáze sa pred položku okamžitého spustenia umiestni začiarknutie, po ktorom sa na systémovej lište zobrazí príslušná ikona, na ktorú musíte kliknúť a zmeniť, aby ste vybrali spustenie miestneho hostiteľa (localhost).

Ak je všetko vykonané správne, zobrazí sa Domovská stránka server. Ďalej sa zobrazí výzva na inštaláciu ďalších komponentov (ak sa tak nestane, systém zobrazí chybu). Inštalácia sa v podstate týka doplnkových doplnkov, prvkov a komponentov, ktoré bude server využívať v budúcnosti.

Príklad nastavenia a testovania servera

Nastavenie webového servera je o niečo zložitejšie. Najprv v ponuke systémovej lišty prejdite do priečinka WWW (kde sú uložené doplnky alebo súbory HTML). Potom napíšte do programu Poznámkový blok nasledujúci text:

WAMP test!

Ahoj!

"; ?>

Môžete jednoducho skopírovať text do programu Poznámkový blok a uložiť súbor ako index.php do rovnakého priečinka WWW (hoci môžete urobiť aj bez, pretože tento krok sa používa iba na kontrolu lokálneho hostiteľa). Namiesto pozdravu môžete vložiť akýkoľvek iný text alebo frázu.

Potom v prehliadači musíte obnoviť stránku (F5), po ktorej sa obsah zobrazí na obrazovke. Pre ostatné počítače však stránka nebude dostupná.

Ak chcete otvoriť prístup, musíte zmeniť súbor httpd.conf napísaním do sekcie, ktorá začína nasledujúce riadky:

Objednať Povoliť, Odmietnuť

Namiesto doslovu

Samozrejme, s ohľadom na pochopenie podstaty fungovania či nastavenia domáceho webservera sú tu uvedené len tie najzaujímavejšie a najstručnejšie informácie, takpovediac pre všeobecné pochopenie. V skutočnosti sú všetky procesy oveľa zložitejšie, najmä pokiaľ ide o konverziu požiadaviek a vydávanie odpovedí, nehovoriac o nastavení servera doma. Ak má používateľ túžbu porozumieť týmto problémom, nezaobíde sa bez aspoň základných znalostí rovnakého doplnku WordPress a jazyka PHP. Na druhej strane pre publikovanie primitívnych stránok obsahujúcich väčšinou len textové informácie možno použiť aj tieto prvotné informácie.

Dobrý deň, tento článok obsahuje 5 najpopulárnejších možností nastavenia servera pre webovú aplikáciu. Aké sú možnosti a ktorú si vybrať?

Pri výbere serverového prostredia je potrebné zvážiť mnoho faktorov, ako je výkon, škálovateľnosť, dostupnosť, spoľahlivosť, náklady a jednoduchosť správy.

Článok predstavuje súbor najbežnejšie používaných serverových prostredí s ich stručný popis vrátane pre a proti. Všetky koncepty môžu byť použité v rôznych vzájomných kombináciách a každé prostredie má iné požiadavky, takže neexistuje jediná správna konfigurácia.

1. Všetko na jednom serveri

Prostredie je na rovnakom serveri. Pre typickú webovú aplikáciu by to zahŕňalo webový server, aplikačný server a databázový server. Špeciálnym prípadom implementácie tejto sady je, ktorej názov je skratkou pre Linux, Apache, MySQL a PHP, na tom istom serveri.

Príklad použitia: Dobré na rýchle nasadenie aplikácie, pretože je to najjednoduchšia konfigurácia zo všetkých, ale ponúka málo z hľadiska škálovateľnosti a izolácie komponentov.

Výhody:

  • Jednoduchosť

mínusy:

  • Aplikácia a databáza využívajú rovnaké prostriedky servera (CPU, pamäť, I/O atď.), čo okrem potenciálne slabého výkonu sťažuje určenie zdroja (aplikácie alebo databázy) tohto najnižšieho výkonu.
  • Je ťažké horizontálne škálovať.

2. Vyhradený databázový server

Systém správy databáz (DBMS) je možné oddeliť od zvyšku prostredia, aby sa eliminovala súťaž o serverové zdroje medzi aplikáciou a databázou a zvýšila sa bezpečnosť odstránením databázy z DMZ, verejného internetu.

Príklad použitia: Dobré na rýchle nasadenie aplikácie, ale tiež eliminuje problém sporov medzi aplikáciami a databázami o rovnaké systémové prostriedky.

Výhody:

  • Aplikácia a databáza nesúťažia o rovnaké zdroje servera (CPU, pamäť, I/O atď.).
  • Každý komponent (aplikáciu a databázu) môžete vertikálne škálovať nezávisle pridaním ďalších zdrojov na požadovaný server.
  • S určitými nastaveniami to môže zlepšiť bezpečnosť odstránením databázy z DMZ.

mínusy:

  • Proces inštalácie je o niečo komplikovanejší ako v prípade použitia jedného servera.
  • Problémy s výkonom sa môžu vyskytnúť, ak sieťové pripojenie medzi dvoma servermi má dlhú odozvu (napr. servery sú od seba geograficky oddelené), príp priepustnosť nedostatočné pre prenášané dáta.

3. Nástroj na vyrovnávanie zaťaženia (reverzný proxy server)

Do serverového prostredia možno pridať nástroje na vyrovnávanie záťaže, aby sa zvýšil výkon a spoľahlivosť rozdelením záťaže na viacero serverov. Ak jeden zo serverov vypadne, ostatné servery budú spracovávať prichádzajúcu komunikáciu, kým sa vypadnutý server opäť nespustí. Nástroj na vyrovnávanie zaťaženia možno použiť aj na obsluhu viacerých aplikácií na rovnakej doméne a porte pomocou reverzného proxy.

Príklady softvéru reverzného proxy zahŕňajú HAProxy a Varnish.

Príklad použitia: Užitočné pre prostredia, ktoré vyžadujú škálovanie pridaním ďalších serverov, známe aj ako horizontálne škálovanie.

Výhody:

  • Umožňuje horizontálne škálovanie, to znamená, že zdroje prostredia možno zvýšiť pridaním nových serverov.
  • Dokáže chrániť pred útokmi DDOS obmedzením pripojení klientov na prijateľný počet a frekvenciu.

mínusy:

  • Vyrovnávač zaťaženia sa môže stať prekážkou výkonu, ak má nedostatočné zdroje alebo je nesprávne nakonfigurovaný.
  • Môže vytvárať ďalšie zložitosti, ktoré si vyžadujú dodatočné úsilie od správcu, napríklad práca s aplikáciami, ktoré vyžadujú takzvané „sticky sessions“ (sticky session).

4. HTTP Accelerator (ukladanie reverzného proxy servera do vyrovnávacej pamäte)

Na skrátenie času potrebného na doručenie obsahu používateľovi pomocou rôzne metódy. Základnou technikou používanou s akcelerátorom HTTP je ukladanie odpovedí z webového alebo aplikačného servera do pamäte cache, takže následné požiadavky na rovnaký obsah môžu byť spracované rýchlo a s menším počtom zbytočných interakcií s webovým alebo aplikačným serverom.

Príklady softvéru podporujúceho akceleráciu HTTP: Varnish, Squid, Nginx.

Príklad použitia: Užitočné pre dynamické webové aplikácie s ťažkým obsahom alebo veľkým počtom súborov, ku ktorým je možné pristupovať súčasne.

Výhody:

  • Zlepšuje výkon stránky znížením zaťaženia procesora webového servera prostredníctvom ukladania do vyrovnávacej pamäte a kompresie, čím sa zvyšuje počet obsluhovaných používateľov.
  • Môže byť použitý ako reverzný proxy server na vyrovnávanie zaťaženia.
  • Niektorý softvér na ukladanie do vyrovnávacej pamäte môže chrániť pred útokmi DDOS.

mínusy:

  • Pre najlepší výkon vyžaduje ladenie.
  • Ak povaha požiadaviek používateľov neumožňuje efektívne ukladanie do pamäte cache, môže to znížiť výkon servera.

5. Replikácia databázy podľa schémy master-slave (Master-Slave)

Jedným zo spôsobov, ako zlepšiť výkon databázového systému, ktorý prijíma oveľa viac čítaní ako zápisov, ako sú systémy na správu obsahu (CMS), je použitie replikácie databázy master-slave. Takáto schéma predpokladá prítomnosť jedného hlavného a jedného alebo viacerých podriadených uzlov. V tomto prípade sú všetky zápisy smerované do hlavného uzla a požiadavky na čítanie môžu byť rozdelené medzi všetky uzly.

Príklad použitia: Poskytuje dobré zvýšenie výkonu aplikácie z hľadiska čítania z databázy.

Tu je príklad replikácie databázy master-slave s jedným slave uzlom:

Výhody:

  • Zlepšuje výkon čítania databázy distribúciou požiadaviek na čítanie medzi podriadené uzly.
  • Môže zlepšiť výkon zápisu používaním hostiteľa výlučne na zápis (takže nestráca čas vybavovaním požiadaviek na čítanie)

mínusy:

  • Databázová aplikácia musí mať mechanizmus na určenie, ktorým uzlom sa majú posielať požiadavky na čítanie a zápis.
  • Aktualizácie podriadených uzlov sú asynchrónne, takže na požiadanie nie je možné získať najnovšie údaje.
  • Ak hlavný uzol prestane fungovať, nie je možné vykonať žiadne aktualizácie databázy, kým sa problém nevyrieši.
  • Nemá vstavanú redundanciu pre prípad zlyhania hlavného uzla.

Príklad: spájanie pojmov

Okrem aplikačných serverov môžete načítať vyrovnávacie servery vyrovnávacej pamäte a používať replikáciu databázy v jedinom prostredí. Cieľom kombinácie týchto metód je získať výhody každého prístupu bez pridania prílišnej zložitosti.

Tu je príklad diagramu, ako môže vyzerať prostredie servera:

Predpokladajme, že nástroj na vyrovnávanie záťaže je nakonfigurovaný tak, aby rozpoznával statické požiadavky (ako sú obrázky, CSS, JavaScript atď.) a odosielal tieto požiadavky do vyrovnávacej pamäte serverom a všetky ostatné požiadavky na aplikačné servery.

Čo sa stane, keď používateľ odošle žiadosť o dynamický obsah:

  1. Používateľ požaduje dynamický obsah s http://example.com/(vyrovnávač zaťaženia).
  2. Nástroj na vyrovnávanie zaťaženia odošle požiadavku na aplikačný server (backend aplikácie).

Ak používateľ požaduje statický obsah:

  1. Nástroj na vyrovnávanie zaťaženia kontroluje vyrovnávaciu pamäť (cache-backend), aby zistil, či je požadovaný obsah uložený do vyrovnávacej pamäte.
  2. Ak je uložený vo vyrovnávacej pamäti, potom sa požadovaný obsah vráti do nástroja na vyrovnávanie zaťaženia, prejdite na krok 7. Ak nie je uložený vo vyrovnávacej pamäti, potom server vyrovnávacej pamäte prepošle požiadavku aplikačnému serveru prostredníctvom nástroja na vyrovnávanie zaťaženia.
  3. Nástroj na vyrovnávanie záťaže pošle požiadavku na aplikačný server.
  4. Aplikačný server (aplikačný backend) číta z databázy a vracia požadovaný obsah späť do nástroja na vyrovnávanie zaťaženia.
  5. Nástroj na vyrovnávanie záťaže odošle odpoveď na server vyrovnávacej pamäte (backend vyrovnávacej pamäte).
  6. Server ukladania do vyrovnávacej pamäte uloží prijatý obsah do vyrovnávacej pamäte a vráti ho do vyrovnávacej pamäte.
  7. Nástroj na vyrovnávanie zaťaženia vráti používateľovi požadovaný obsah.

Toto prostredie má dva možné body zlyhania (vyrovnávač zaťaženia a hlavný databázový server), ale poskytuje ďalšie výhody spoľahlivosti a výkonu opísané vyššie v každom bode.

Teraz by ste mali mať dobrú predstavu o tom, čo presne budete používať pre svoju vlastnú aplikáciu alebo aplikácie. Ak pracujete na zlepšovaní svojho prostredia, pamätajte, že najlepšie je ísť iteratívne, aby ste sa vyhli nadmernej komplikácii.



Načítava...
Hore