Som navnet antyder, refererer load balancing til effektiv distribution af servertrafik over en gruppe af tilsluttede servere, også kendt som en serverfarm eller en serverpool.
Der kommer mange parallelle anmodninger ind fra både brugere og klienter, og hjemmesiden skal kunne behandle tusindvis, hvis ikke millioner, af dem samtidigt og returnere den korrekte tekst, billeder, video eller applikationsdata, alt sammen på en hurtig og pålidelig måde. Typisk kræver de bedste fremgangsmåder inden for moderne databehandling tilføjelse af flere servere for at skalere op for at imødekomme disse store mængder omkostningseffektivt.
Som "trafikbetjent" sidder load balancers foran dine servere og dirigerer klientforespørgsler mellem alle de servere, der kan opfylde disse anmodninger. Load balancer sikrer, at ingen servere overbelastes, hvilket kan resultere i forringelse af ydeevnen. Den sikrer, at alle serveres hastighed og kapacitetsudnyttelse maksimeres, og at ingen servere overbelastes. Load balancer sikrer, at trafik dirigeres til de resterende servere, hvis en af serverne går ned. Load balancer begynder automatisk at sende anmodninger til den nye server, når den tilføjes til servergruppen, ved at tilføje den til listen over servere.
Hvordan fungerer load balancers?
For at forhindre trafik i at blive dirigeret til servere, der ikke kan opfylde anmodninger, bruger load balancers sofistikerede algoritmer til at registrere backend-servernes tilstand. Formålet med en load balancer er at styre trafikken, der går til forskellige webservere i en ressourcepulje, uanset om det er en hardware- eller software-load balancer, eller hvilken algoritme den bruger, for at sikre, at ingen enkelt server bliver overbelastet og derfor upålidelig på grund af sin for store arbejdsbyrde. Som et resultat vil serverens svartid blive minimeret, og gennemløbshastigheden vil blive maksimeret.
Ofte sammenlignes load balancing med rollen som trafikbetjent, da vedkommende er ansvarlig for systematisk at dirigere anmodninger til de mest passende steder på et givet tidspunkt og derved undgå dyre flaskehalse og forebyggende hændelser.
Hvad er nogle af standardløsningerne til load balancing?
En load balancer, eller den ADC, der inkluderer den, vil følge et sæt algoritmer for at bestemme, hvordan anmodninger skal fordeles på tværs af serverfarmen. Igen er der masser af muligheder i denne forbindelse, fra det meget simple til det meget komplekse.
Round robin-belastningsbalancering
Det er en simpel load balancing-løsning til at dirigere klienter til en anden server baseret på en rotationsliste, når en klient tilgår den virtuelle server. Men på trods af den nemme implementering tager load balancers ikke højde for den eksisterende belastning på en server. Som følge heraf kan serveren blive overbelastet med processorintensive anmodninger, hvis den modtager mange anmodninger.
Metoden med kortest responstid
Metoden med den laveste svartid er mere sofistikeret til overvågning af sundhedsdata, fordi den er afhængig af serverens svartid på en anmodning om sundhedsovervågning. Den samlede forventede brugeroplevelse er, hvor hurtigt serveren reagerer. Nogle load balancers kan også tage antallet af aktive forbindelser på hver server i betragtning.
Mindst mulig forbindelsesmetode
Metoden med færrest forbindelser tager højde for den aktuelle belastning på serveren, mens round-robin ikke gør (kun dens position i rotation), hvilket resulterer i betydeligt bedre ydeevne. Derudover vil anmodninger blive sendt til serveren med det mindste antal aktive forbindelser, når metoden med færrest forbindelser bruges.
Flere artikler af denne type er tilgængelige på Seahawk Media.