paint-brush
Decodificarea primitivelor de echilibrare a sarciniide@fairday
39,939 lecturi
39,939 lecturi

Decodificarea primitivelor de echilibrare a sarcinii

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

Prea lung; A citi

Când scalați sistemul pentru a găzdui trafic și utilizatori crescuti, puteți alege între scalarea verticală, care crește puterea serverului, și scalarea orizontală, care implică duplicarea serverelor. În timp ce scalarea verticală este mai simplă, are limitări precum constrângerile hardware. Scalare orizontală cu echilibrare de încărcare oferă flexibilitate, dar necesită gestionarea apatridiei și implementarea strategiilor. Înțelegerea echilibrarilor de încărcare L4 și L7 este esențială, L4 fiind mai sigur și mai performant, în timp ce L7 oferă rutare inteligentă în detrimentul eficienței. Alegerea abordării corecte depinde de cerințele de sistem și de echilibrarea considerațiilor de securitate și performanță.

People Mentioned

Mention Thumbnail
featured image - Decodificarea primitivelor de echilibrare a sarcinii
Aleksei HackerNoon profile picture
0-item


Ori de câte ori sistemul dvs. crește, traficul crește, tot mai mulți utilizatori vă folosesc produsele, serverele încep să răspundă mai lent, timpii de nefuncționare vă forțează afacerea să sufere, atunci începeți să vă gândiți la extindere.


Există două strategii principale pentru scalare - verticală și orizontală.


Scalare verticală intenționează să crească puterea sistemului prin adăugarea de obicei mai mult CPU și RAM la serverele dvs.


În schimb, scalarea orizontală se concentrează pe duplicarea (sau clonarea) serverelor dvs. din grupul de resurse.


Mai multe despre acestea:


Scalare pe verticală

Scalare verticală este cea mai bună opțiune pentru un sistem cu trafic redus, deoarece este cea mai accesibilă abordare pentru gestionarea creșterii fără a introduce complexitate suplimentară. Nu trebuie să vă pese de implementarea strategiilor pentru un grup de resurse, de elasticitatea pool-ului de resurse, de apatridia serverului dvs., de memoria cache distribuită și așa mai departe.


Cu toate acestea, scalarea verticală are dezavantaje serioase

  1. Limită hardware, deoarece este imposibil să adăugați resurse la infinit
  2. Lipsa failoverului și redundanței crește riscul de a avea un timp de nefuncționare prelungit și pierderea de date


Scalare orizontală

Scalare orizontală elimină aceste probleme prin clonarea serverelor de aplicații și încorporarea unei componente, cum ar fi un echilibrator de încărcare .


Un echilibrator de încărcare distribuie traficul pe serverele dvs. folosind algoritmi specifici , cum ar fi:


  1. Round-robin
  2. round-robin ponderat
  3. Abordări bazate pe hash IP
  4. Cea mai mică metodă de conectare
  5. Metoda de conectare cea mai mică ponderată
  6. Metoda cu cel mai mic răspuns și multe altele.


Cu toate acestea, are mai multe dezavantaje:


  1. Serverele trebuie să fie apatride
  2. Sesiunile trebuie să fie menținute într-un depozit de date centralizat
  3. Mai complicat implementarea strategiilor poate fi necesar
  4. Un echilibrator de încărcare poate deveni un blocaj de performanță dacă este configurat greșit și resursele nu sunt suficiente
  5. Introduce o complexitate suplimentară sistemului și reprezintă un potențial punct unic de eșec, ceea ce necesită aplicarea strategiilor de failover.


L4 / L7 Echilibratoare de sarcină

Pentru ca două dispozitive de pe internet să comunice între ele, sistemele de bază trebuie să urmeze protocoale specifice. Toată lumea a auzit despre modelul OSI, care descrie șapte straturi pe care sistemele informatice le folosesc pentru a comunica printr-o rețea. Deși internetul modern se bazează pe un model mai simplu de stivă de protocol TCP/IP, modelul OSI este utilizat pe scară largă, deoarece ajută la vizualizarea și comunicarea modului în care funcționează rețelele și ajută la izolarea și depanarea problemelor de rețea.


Majoritatea soluțiilor de echilibrare a sarcinii din industrie folosesc termenii L4 și L7, unde L4 se referă la stratul de transport în modelul OSI și L7 se referă la stratul de aplicație.


Echilibratorul de sarcină L4 este încă L2/L3, deoarece utilizează date din straturile inferioare, cum ar fi adresa IP și numărul de port.


Principalele avantaje ale echilibratorului de sarcină L4

  • Este mai sigur și mai performant, deoarece conținutul datelor nu este luat în considerare în luarea deciziilor de rutare

  • Aceeași conexiune TCP se păstrează între client și server, ceea ce ajută la prevenirea depășirii limitei de conexiuni TCP disponibile pe un echilibrator de încărcare


Principalele dezavantaje ale echilibratorului de sarcină L4

  • Rutarea inteligentă este imposibilă, deoarece conținutul nu este decriptat
  • Protocolul de stat aduce o complexitate suplimentară
  • Maparea între adresele publice și private
  • Fără stocare în cache, deoarece conținutul nu este disponibil la acest nivel
  • Nu este posibil de utilizat pentru arhitectura de microservicii, deoarece redirecționarea traficului nu este disponibilă pe baza căii URL


Pe de altă parte, echilibratorul de sarcină L7 operează la nivel de aplicație în modelul OSI


Principalele avantaje ale echilibratorului de sarcină L7

  • Deciziile inteligente pot fi luate pe baza căii URL, antete, conținut

  • Memorarea în cache


Principalele dezavantaje ale echilibratorului de sarcină L7

  • Suplimentar datorita mentinerii a doua conexiuni TCP, una intre client si load balancer, a doua intre load balancer si server. De asemenea, trebuie luată în considerare limita de conexiune TCP a echilibrului de încărcare
  • Mai puțin sigur, deoarece echilibratorul de încărcare trebuie să cunoască certificatele pentru a putea decripta datele și a lua decizii de rutare


Concluzie

Echilibratorul de sarcină este o componentă vitală atunci când scalarea orizontală este aplicată pentru a gestiona sistemele cu trafic ridicat. Există două tipuri principale de echilibrare de sarcină L4 și L7.


  1. Echilibratorul de încărcare L4 este mult mai sigur și mai performant datorită limitărilor de luare a deciziilor inteligente

  2. Echilibratorul de sarcină L7 funcționează într-un mod care oferă decizii inteligente de rutare datorită costului eficienței și securității


Alegerea tipului potrivit depinde de cerințele de sistem și trebuie luată în considerare cu atenție, cu un echilibru rezonabil între aplicarea principiilor de securitate și eliminarea blocajelor de performanță.


Publicat si aici.