paint-brush
Afkodning af belastningsbalancerende primitiverved@fairday
39,939 aflæsninger
39,939 aflæsninger

Afkodning af belastningsbalancerende primitiver

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

For langt; At læse

Når du skalerer dit system for at imødekomme øget trafik og brugere, kan du vælge mellem vertikal skalering, som øger serverkraften, og horisontal skalering, som involverer duplikering af servere. Mens lodret skalering er enklere, har det begrænsninger som hardwarebegrænsninger. Horisontal skalering med load balancers giver fleksibilitet, men kræver styring af statsløshed og implementering af strategier. Det er vigtigt at forstå L4 og L7 load balancers, hvor L4 er mere sikker og mere effektiv, mens L7 tilbyder intelligent routing på bekostning af effektivitet. Valget af den rigtige tilgang afhænger af systemkrav og balancering af sikkerheds- og ydeevneovervejelser.

People Mentioned

Mention Thumbnail
featured image - Afkodning af belastningsbalancerende primitiver
Aleksei HackerNoon profile picture
0-item


Når dit system vokser, trafikken stiger, flere og flere brugere bruger dine produkter, servere begynder at reagere langsommere, nedetid tvinger din virksomhed til at lide, så begynder du at tænke på skalering.


Der er to primære strategier til skalering - lodret og vandret.


Lodret skalering har til hensigt at øge systemets kraft ved normalt at tilføje mere CPU og RAM til dine servere.


I modsætning hertil fokuserer horisontal skalering på at duplikere (eller klone) dine servere i ressourcepuljen.


Mere om disse:


Lodret skalering

Vertikal skalering er den bedste mulighed for et system med lav trafik, fordi det er den mest tilgængelige tilgang til at håndtere vækst uden at indføre yderligere kompleksitet. Du behøver ikke at bekymre dig om at implementere strategier for en gruppe af ressourcer, ressourcepuljens elasticitet, din servers tilstandsløshed, den distribuerede cache og så videre.


Imidlertid har lodret skalering alvorlige ulemper

  1. Hardwarebegrænsning, da det er umuligt uendeligt at tilføje ressourcer
  2. Manglende failover og redundans øger risikoen for at få længere nedetid og tab af data


Horisontal skalering

Horisontal skalering eliminerer disse problemer ved at klone dine applikationsservere og indlejre en komponent såsom en belastningsbalancer .


En load balancer distribuerer trafik på dine servere ved hjælp af specifikke algoritmer såsom:


  1. Round-robin
  2. Vægtet round-robin
  3. IP hash-baserede tilgange
  4. Mindste tilslutningsmetode
  5. Vægtet mindste forbindelsesmetode
  6. Mindst svarmetode og mange andre.


Ikke desto mindre har det flere ulemper:


  1. Servere skal være statsløse
  2. Sessioner skal fortsættes i et centraliseret datalager
  3. Mere kompliceret implementering af strategier kan være påkrævet
  4. En load balancer kan blive en flaskehals i ydeevnen, hvis den er forkert konfigureret, og ressourcerne ikke er nok
  5. Det introducerer yderligere kompleksitet til systemet og står som et potentielt enkelt fejlpunkt, hvilket kræver anvendelse af failover-strategier


L4 / L7 Lastbalancer

For at to enheder på internettet kan kommunikere med hinanden, skal de underliggende systemer følge specifikke protokoller. Alle hørte om OSI-modellen, som beskriver syv lag, som computersystemer bruger til at kommunikere over et netværk. Selvom det moderne internet er baseret på en enklere TCP/IP-protokolstakmodel, er OSI-modellen meget brugt, da den hjælper med at visualisere og kommunikere, hvordan netværk fungerer og hjælper med at isolere og fejlfinde netværksproblemer.


De fleste industrilastbalanceringsløsninger bruger betegnelserne L4 og L7, hvor L4 refererer til transportlaget i OSI-modellen og L7 refererer til applikationslaget.


L4-belastningsbalanceren er stadig L2/L3, da den bruger data fra de nederste lag, såsom IP-adresse og portnummer.


De vigtigste fordele ved L4 load balancer

  • Det er mere sikkert og mere effektivt, da dataindhold ikke tages med i beslutninger om routing

  • Den samme TCP-forbindelse holder mellem klient og server, hvilket hjælper med at forhindre overskridelse af grænsen for tilgængelige TCP-forbindelser på en load balancer


De vigtigste ulemper ved L4 load balancer

  • Intelligent routing er umulig, da indholdet ikke dekrypteres
  • Stateful protokol bringer yderligere kompleksitet
  • Kortlægning mellem offentlige og private adresser
  • Ingen caching, da indholdet ikke er tilgængeligt på dette niveau
  • Ikke muligt at bruge til mikroservicearkitektur, da trafikomdirigering ikke er tilgængelig baseret på url-sti


På den anden side fungerer L7 load balancer på applikationsniveau i OSI-modellen


De vigtigste fordele ved L7 load balancer

  • Smarte beslutninger kan træffes baseret på URL-sti, overskrifter, indhold

  • Caching


De vigtigste ulemper ved L7 load balancer

  • Yderligere overhead på grund af opretholdelsen af to TCP-forbindelser, en mellem klient og load balancer, den anden mellem load balancer og server. Desuden skal belastningsbalancerens TCP-forbindelsesgrænse tages i betragtning
  • Mindre sikker, da load balanceren skal kende certifikater for at kunne dekryptere data og træffe routingbeslutninger


Konklusion

Load balancer er en vital komponent, når horisontal skalering anvendes til at håndtere systemer med høj trafik. Der er to hovedtyper af belastningsbalancere L4 og L7.


  1. L4 load balancer er meget mere sikker og mere effektiv på grund af begrænsninger i at træffe smarte beslutninger

  2. L7 load balancer fungerer på en måde, der giver intelligente rutebeslutninger på grund af omkostningerne ved effektivitet og sikkerhed


Valg af den passende type afhænger af systemkravene og bør overvejes nøje med en rimelig balance mellem anvendelse af sikkerhedsprincipper og eliminering af ydeevneflaskehalse.


Også offentliggjort her.