paint-brush
Primitive za dekodiranje balansiranja opterećenjaby@fairday
39,939 čitanja
39,939 čitanja

Primitive za dekodiranje balansiranja opterećenja

by Aleksei4m2024/02/26
Read on Terminal Reader
Read this story w/o Javascript

Predugo; Citati

Kada skalirate svoj sistem kako bi se prilagodio povećanom prometu i korisnicima, možete birati između vertikalnog skaliranja, koje povećava snagu servera, i horizontalnog skaliranja, koje uključuje dupliciranje servera. Iako je vertikalno skaliranje jednostavnije, ono ima ograničenja poput hardverskih ograničenja. Horizontalno skaliranje s balansatorima opterećenja nudi fleksibilnost, ali zahtijeva upravljanje apatridijom i implementaciju strategija. Razumijevanje L4 i L7 balansera opterećenja je od suštinskog značaja, pri čemu je L4 sigurniji i učinkovitiji, dok L7 nudi inteligentno rutiranje na račun efikasnosti. Odabir pravog pristupa ovisi o zahtjevima sistema i balansiranju sigurnosti i performansi.

People Mentioned

Mention Thumbnail
featured image - Primitive za dekodiranje balansiranja opterećenja
Aleksei HackerNoon profile picture
0-item


Kad god vaš sistem raste, promet se povećava, sve više korisnika koristi vaše proizvode, serveri počinju da reaguju sporije, zastoji prisiljavaju vaše poslovanje da pati, tada počinjete razmišljati o skaliranju.


Postoje dvije osnovne strategije za skaliranje - vertikalna i horizontalna.


Vertikalno skaliranje ima za cilj da poveća snagu sistema dodavanjem obično više CPU-a i RAM-a vašim serverima.


Nasuprot tome, horizontalno skaliranje se fokusira na dupliciranje (ili kloniranje) vaših servera u skupu resursa.


Više o ovim:


Vertikalno skaliranje

Vertikalno skaliranje je najbolja opcija za sistem sa malim prometom jer je to najpristupačniji pristup za upravljanje rastom bez uvođenja dodatne složenosti. Ne morate da brinete o implementaciji strategija za grupu resursa, elastičnosti skupa resursa, bezdržavnosti vašeg servera, distribuiranoj keš memoriji i tako dalje.


Međutim, vertikalno skaliranje ima ozbiljne nedostatke

  1. Hardversko ograničenje jer je nemoguće beskonačno dodavati resurse
  2. Nedostatak prelaska na grešku i redundantnosti povećavaju rizik od produženog zastoja i gubitka podataka


Horizontalno skaliranje

Horizontalno skaliranje eliminira ove probleme kloniranjem vaših poslužitelja aplikacija i ugrađivanjem komponente kao što je balansator opterećenja .


Balansator opterećenja distribuira promet na vašim serverima koristeći specifične algoritame kao što su:


  1. Round-robin
  2. Ponderisano round-robin
  3. Pristupi zasnovani na IP hash-u
  4. Najmanji način povezivanja
  5. Metoda najmanje ponderisane veze
  6. Metoda najmanjeg odgovora i mnoge druge.


Ipak, ima nekoliko nedostataka:


  1. Serveri moraju biti bez državljanstva
  2. Sesije se moraju održavati u centraliziranom skladištu podataka
  3. Komplikovanije strategije implementacije može biti potrebno
  4. Balansator opterećenja može postati usko grlo u performansama ako je pogrešno konfiguriran i resursi nisu dovoljni
  5. To uvodi dodatnu složenost u sistem i predstavlja potencijalnu pojedinačnu tačku kvara, što zahtijeva primjenu strategija prelaska na grešku


L4 / L7 Balanseri opterećenja

Da bi dva uređaja na internetu međusobno komunicirala, osnovni sistemi moraju slijediti određene protokole. Svi su čuli za OSI model, koji opisuje sedam slojeva koje kompjuterski sistemi koriste za komunikaciju preko mreže. Iako je moderni internet zasnovan na jednostavnijem modelu steka TCP/IP protokola, OSI model se široko koristi, jer pomaže u vizualizaciji i komunikaciji kako mreže rade i pomaže u izolaciji i rješavanju problema u mreži.


Većina industrijskih rješenja za balansiranje opterećenja koristi termine L4 i L7 gdje se L4 odnosi na transportni sloj u OSI modelu, a L7 se odnosi na sloj aplikacije.


L4 balansator opterećenja je još uvijek L2/L3 budući da koristi podatke iz donjih slojeva kao što su IP adresa i broj porta.


Glavne prednosti L4 balansera opterećenja

  • Sigurniji je i učinkovitiji jer se sadržaj podataka ne uzima u obzir pri donošenju odluka o rutiranju

  • Ista TCP veza postoji između klijenta i servera, što pomaže da se spriječi prekoračenje ograničenja dostupnih TCP veza na balansatoru opterećenja


Glavni nedostaci L4 balansera opterećenja

  • Inteligentno usmjeravanje je nemoguće jer se sadržaj ne dešifruje
  • Stateful protokol donosi dodatnu složenost
  • Preslikavanje javnih i privatnih adresa
  • Nema keširanja jer sadržaj nije dostupan na ovom nivou
  • Nije moguće koristiti za arhitekturu mikroservisa jer preusmjeravanje prometa nije dostupno na osnovu url putanje


S druge strane, L7 balansator opterećenja radi na nivou aplikacije u OSI modelu


Glavne prednosti L7 balansera opterećenja

  • Pametne odluke se mogu donositi na osnovu URL putanje, zaglavlja, sadržaja

  • Keširanje


Glavni nedostaci L7 balansera opterećenja

  • Dodatni troškovi zbog održavanja dvije TCP veze, jedne između klijenta i balansera opterećenja, druge između balansera opterećenja i servera. Također, potrebno je uzeti u obzir ograničenje TCP veze balansera opterećenja
  • Manje siguran jer balansator opterećenja mora poznavati certifikate da bi mogao dešifrirati podatke i donositi odluke o usmjeravanju


Zaključak

Balansator opterećenja je vitalna komponenta kada se horizontalno skaliranje primjenjuje za rukovanje sistemima s velikim prometom. Postoje dva glavna tipa balansera opterećenja L4 i L7.


  1. L4 balansator opterećenja je mnogo sigurniji i učinkovitiji zbog ograničenja donošenja pametnih odluka

  2. L7 balansator opterećenja radi na način da pruža inteligentne odluke o rutiranju zbog cijene efikasnosti i sigurnosti


Odabir odgovarajućeg tipa ovisi o zahtjevima sistema i treba ga pažljivo razmotriti uz razumnu ravnotežu primjene sigurnosnih principa i eliminisanja uskih grla u performansama.


Također objavljeno ovdje.