Ved å bruke lastfordeling kan serveradgangen fordeles jevnt på ulike maskinvareressurser gjennom en teknisk enhet kalt en lastfordeler. Dette sikrer stabile tilgangshastigheter, noe som er avgjørende for å skaffe potensielle kunder og kunder.

Hva er lastfordeling?

Lastfordeling er særlig utbredt innen serverteknologi og beskriver en metode der forespørsler fordeles mellom ulike servere i bakgrunnen uten at brukerne merker det. Lastfordeleren som brukes til dette, kan være implementert som maskinvare eller programvare. Den tilordner flere servere til et domene uten at det oppstår adressekonflikter, og er tilgjengelig via det offentlige domenet.

De underordnede webserverne navngis med domeneutvidelsene www1, www2, www3 osv. Dette gjør det mulig å bruke lastbalansering for å gjøre et nettsted tilgjengelig under samme URL, selv om det er flere servere bak. Dette forhindrer overbelastning av serverne, ettersom eksterne forespørsler fordeles på ulike fysiske maskiner i klyngen. Brukerne merker vanligvis ikke dette, siden fordelingen av forespørsler skjer i bakgrunnen basert på komplekse algoritmer.

Lastfordeling kan også spille en rolle utover webservere, for eksempel på datamaskiner som kjører med flere prosessorer. I slike tilfeller sørger lastfordeleren for at belastningen fordeles jevnt mellom de ulike prosessorene for å oppnå større datakraft. Lastfordelere er også etterspurt ved bruk av containerprogramvare som Kubernetes. Her sørger de for at arbeidsbelastningen fordeles effektivt mellom ulike pods.

Hvordan fungerer lastfordeling?

Forespørsler til en webserver, for eksempel i form av sidevisninger, behandles først av lastfordeleren. Denne tar deretter over lastfordelingen ved å videresende tilgangsforsøkene til ulike servere. Lastfordeleren kan være implementert som maskinvare eller programvare, men prinsippet er det samme: En forespørsel kommer inn til lastfordeleren, og avhengig av hvilken metode som brukes, videresender enheten eller programvaren dataene til den aktuelle serveren.

Det tekniske grunnlaget er DNS-prosessen: Brukere får kun tilgang til et nettsted via en URL. Denne konverteres til en IP-adresse ved hjelp av DNS, som deretter peker mot lastfordeleren. Ideelt sett merker ikke brukerne noe til denne prosessen.

Image: Diagram of how load balancing works
A load balancer distributes the load of client accesses over the internet or web to various servers.

Hva er fordelene med balansert lastfordeling?

De tre viktigste fordelene ved en riktig implementert lastfordeler er som følger:

  • Optimaliserte lastetider: Fordeling av trafikk på flere servere kan gi kortere lastetider, selv når det kommer mange forespørsler samtidig.
  • Høyere feiltoleranse: En lastbalanser øker feiltoleransen, da trafikken fra en treg server automatisk omdirigeres til andre servere i klyngen. Hvis en server er utilgjengelig, forblir det hostede nettstedet tilgjengelig.
  • Forenklet systemvedlikehold: Lastbalansering er til stor hjelp ved vedlikehold av et serversystem. Konfigurasjoner og oppdateringer kan utføres mens serverne er i drift uten merkbar ytelsestap. Lastbalanseren oppdager vedlikeholdstilstander og omdirigerer forespørsler deretter.

Hvilke ulike typer lastfordeling finnes det?

Hvordan innkommende forespørsler fordeles, avhenger av hvilken algoritme som velges. Vanlige algoritmer for lastfordeling er: Round Robin, Weighted Round Robin, Least Connections og Weighted Least Connections.

Round Robin

Round Robin beskriver en prosedyre der innkommende serverforespørsler behandles i en kø av lastfordeleren og fordeles på en rekke servere. Hver nye forespørsel tildeles den neste serveren i rekkefølgen. Dette fører til at tilgangsforespørsler kan fordeles jevnt over hele lastfordelingsklyngen. Uansett hvor presserende forespørselen er eller hvor stor serverbelastningen er, behandler Round Robin alle prosesser likt. Lastbalanseringsenheter som opererer etter Round Robin-prinsippet, er spesielt egnet for miljøer der alle instanser har omtrent like mange ressurser tilgjengelig.

Vektet Round Robin

Svakhetene ved den klassiske round-robin-algoritmen i heterogene serverklynger kan utlignes ved hjelp av en vektet round-robin-fordeling. Innkommende forespørsler fordeles ut fra den statiske vektingen av hver enkelt server. Denne vektingen fastsettes på forhånd av administratoren.

Den kraftigste serveren kan for eksempel tildeles verdien «100», mens mindre effektive servere får verdien «50». I et slikt oppsett vil serveren med vekt «100» motta to forespørsler per runde fra lastfordeleren, mens serveren med vekt «50» kun vil motta én forespørsel. Vektet Round Robin bør primært brukes til lastfordeling når serverne i klyngen har ulike ressurser tilgjengelig.

Færrest tilkoblinger

Ingen av de to round-robin-algoritmene tar hensyn til, under lastbalanserens fordeling av serverforespørsler, hvor mange tilkoblinger de underordnede serverne må opprettholde over en viss periode. Dette kan føre til at flere tilkoblinger hoper seg opp på én server i klyngen. Dette fører til at serveren blir overbelastet, selv om den håndterer færre tilkoblinger enn de andre. Least-connections-algoritmen beskytter mot dette. Den fordeler forespørsler basert på de eksisterende tilkoblingene til hver server– den med færrest aktive tilkoblinger får den neste forespørselen fra lastbalanseren. Denne lastbalanseringsmetoden anbefales for homogene serverklynger der alle datamaskiner har sammenlignbare ressurser tilgjengelig.

Vektet minste antall forbindelser

Hvis en serverklynge har ulik kapasitet, bør man i stedet for algoritmen for færrest tilkoblinger benytte lastfordeling basert på en vektet fordeling av eksisterende tilkoblinger. Dette tar hensyn til både antall aktive tilkoblinger en server har og den vektingen som er definert av administratoren. Dette sikrer en balansert lastfordeling innenfor serverklyngen. Nye forespørsler tildeles automatisk av lastfordeleren til de serverne hvor forholdet mellom aktive tilkoblinger og deres respektive servervekting tyder på den laveste aktuelle belastningen.

Hvilke problemer kan oppstå ved bruk av lastfordeling?

Spesielt innen e-handel står lastfordeling ofte overfor utfordringer. Her er et eksempel: Besøkende på nettstedet legger varer de ønsker å kjøpe, i handlekurven. Disse varene forblir lagret så lenge økten varer, uansett hvilken side brukerne navigerer til på nettbutikken. En vanlig lastfordeler ville fordelt forespørslene på ulike servere. Dette innebærer at innholdet i handlekurven ville gå tapt.

For å løse dette problemet kan man tenke seg to tilnærminger. For det første kan lastfordeleren reagere på brukernes IP-adresse. Da vil for eksempel forespørsler fra samme IP-adresse alltid bli sendt til samme server. En annen metode ville være å hente en sesjons-ID fra selve forespørselen for å avgjøre hvilken server forespørselen skal sendes til.

Hvorfor er lastfordelere så viktige?

Hvis du tjener penger på internett, har virksomheten din ikke råd til et serverbrudd. Og hvis du bare bruker én server og den krasjer på grunn av overbelastning, blir nettstedet ditt utilgjengelig for potensielle kunder. Dette fører til flere problemer: For det første kan du ikke generere inntekter mens overbelastningen varer. Tjenester kan ikke bestilles, og kjøp kan ikke gjennomføres. I tillegg svekkes tilliten fra (potensielle) kunder. Det er dobbelt så ille for brukere som opplever en serveroverbelastning under bestillingsprosessen. Det oppstår ofte stor usikkerhet, og de berørte vet ikke om bestillingen faktisk kom frem og ble registrert i systemet.

Selv om du ikke tilbyr tjenester direkte via internett, bør nettstedet ditt være tilgjengelig til enhver tid. Et nettsted er en av de viktigste kanalene for å finne informasjon. Hvis potensielle kunder søker etter informasjon om bedriften din på nettet og ikke får tilgang til nettstedet ditt, er det større sannsynlighet for at de vil vurdere konkurrentene dine. Du kan minimere slike risikoer ved hjelp av en lastfordeler.

Slik implementerer du lastfordeling i bedriften din

Lastfordeling kan implementeres ved hjelp av både maskinvare- og programvareløsninger på en virtuell server. Mange leverandører tilbyr profesjonelle, komplette pakker, enten som Infrastructure-as-a-Service (IaaS) eller som en nettverkskomponent for din egen IT-infrastruktur.

Siden anskaffelse av proprietære lastfordelere vanligvis medfører høye kostnader, velger mindre bedrifter ofte å bruke åpen kildekode-løsninger som NGINX. Dette gir en kostnadseffektiv måte å sikre høy tilgjengelighet for bedriftens nettside eller andre webprosjekter gjennom effektiv lastfordeling i servernettverket. Innen webhotellbransjen tilbys lastfordeling også ofte som en tilleggsfunksjon for skyservere.

Go to Main Menu