Skalabilna web arhitektura

Što je skalabilnost?
Skalabilnost je poželjno svojstvo sustava, mreže ili procesa, što ukazuje na njegovu sposobnost da reagira i prilagodi se bez gubitka kvalitete, ili da se na fluidan način nosi s kontinuiranim rastom poslova, da bude spreman za povećanje bez gubitka kvalitete u ponuđenim uslugama .
Mogli biste reći koja je sposobnost našeg sustava da podrži veće radno opterećenje izmjenama i dopunama koje su razumne s obzirom na cijenu, vrijeme, vrijeme i složenost.
Vrste skalabilnosti
Općenito možemo govoriti o vertikalnom i horizontalnom skaliranju ili o kombinaciji obojega.

Okomito skaliranje


U osnovi se sastoji od povećanja kapaciteta jednog ili više specifičnih elemenata naše arhitekture, na primjer proširenja memorije našeg središnjeg poslužitelja ili zamjene CPU -a drugim brzinama. Ukratko, povećajte kapacitete poslužitelja, što je vrlo uobičajeno kada koristimo virtualizaciju i kažemo da će tada poslužitelj imati na raspolaganju 30% RAM -a.

Horizontalno skaliranje


To je onaj koji ćemo detaljno opisati u vodiču, temelji se na povećanju broja čvorova koji izvode isti zadatak, koristeći različite vrste planiranja, na primjer ako imamo zasićen web poslužitelj, dodajemo još jedan za uravnoteženje opterećenja.
Vrste web arhitekture temeljene na razinama.
Govorit ćemo o arhitekturama koje se mogu primijeniti na Linux sustavima, pomoću alata otvorenog koda ići ćemo od najosnovnijih do nekih prilično naprednih koji nude horizontalnu skalabilnost i otpornost na neuspjeh, sve te arhitekture mogu se primijeniti u bilo kojem PaaS ili s vlastitom infrastrukturom.

1. Arhitektura na jednoj razini


To je najosnovnije od svega gdje postoji samo jedan poslužitelj s Apacheom i MySQL -om kojem se može pristupiti daljinski. Vrlo je česta na stranicama s malom marginom posjeta ili testnim okruženjima, ne nudi nikakvu granicu tolerancije na neuspjeh i teško ju je koristiti za horizontalni rast.

2. Dvoslojna arhitektura


Ovaj put smo odvojili bazu podataka od web poslužitelja nudeći malo tolerancije grešaka. Na ovaj način, ako baza podataka ne uspije, web poslužitelj može ponuditi sadržaj na statički način koji ne ovisi o bazi podataka. U slučaju kvara web poslužitelja, još uvijek možemo pristupiti informacijama ponovnim podizanjem novog web poslužitelja. Dizajn nudi nekoliko nedostataka jer nije jako skalabilan dizajn.

3. Troslojna arhitektura


Ovaj put počinjemo koristiti uravnoteživač opterećenja koji će primati sve zahtjeve korisnika. Ovaj put nudimo skalabilniji dizajn tako da ako se naše opterećenje poveća možemo dodati više web poslužitelja i skalu. Možemo čak primijeniti i automatsko skaliranje tako da se web poslužitelji dodaju automatski na određenoj razini opterećenja ili u sati najveće potrošnje. Problem s ovim dizajnom je što možemo zasititi našu bazu podataka.

4. Četverostruka arhitektura


Sada koristimo uravnoteživač opterećenja i memcached memoriranje čime sustav postaje skalabilniji. Ovim dizajnom možemo dodati onoliko baza podataka i web poslužitelja koliko je potrebno uz ponudu tolerancije grešaka. Opterećenje možemo podijeliti između baza podataka sa CASSANDRA nudi implementaciju s više čvorova. Ovaj je dizajn mnogo složeniji, ali dodajem mnogo veću toleranciju grešaka i mogućnost skaliranja svih njegovih razina.

5. Petorazinska arhitektura


Sadržaj web stranice može se podijeliti na statički i dinamički. Na primjer, web sloj dijelimo na Apache poslužitelj, a drugi s JAVA aplikacijama koje pokreću Jetty ili JBoss. Apache pruža statički sadržaj dok poslužitelj aplikacija upravlja dinamičkim sadržajem ili sadržajem u pokretu. Primjer za to može biti odjeljak FAQ web stranice za podršku, budući da je to samo statički sadržaj, njime može upravljati APACHE / NGINX.

POVEĆAJTE

6. Šestostruka arhitektura


Možemo biti malo elegantniji i dodati mrežu za isporuku sadržaja (CDN), ili ono što je u AWS -u poznato kao Amazon CloudFront CDNNa primjer, imamo web mjesto za e-učenje i naši korisnici preuzimaju Vodiče u PDF-u ili videozapisima s naše web stranice. Možemo spremiti svu propusnost namijenjenu preuzimanju, nudeći je s CDN -a koji se za to brine, Ostatak weba može raditi na našoj infrastrukturi.

POVEĆAJTE

ZaključciVidjeli smo višeslojne arhitekture koje se mogu primijeniti, ovisno o web prometu. Preporučljivo je stvoriti arhitekture koje razmišljaju o budućnosti, koje mogu povećati i održati toleranciju grešaka, izbjegavajući urušavanja na webu zbog nedostatka resursa ili kvara nezamjenjivog čvora. Stvaranjem nekih od ovih dizajna zajedno s drugim preporukama, poput sigurnosnih kopija i automatskog uvođenja, možemo ponuditi web stranicu s 99,9 sati rada bez greške.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave