Hva er en Load Balancer
Load Balancers sitter foran applikasjonen din og distribuerer innkommende trafikk over flere forekomster av applikasjonen. La oss for eksempel si at du har et nettsted for e-handel. Du merker at du har fått gjennomslag og har trukket flere og flere kunder til applikasjonen din. For å imøtekomme denne trafikken kan du distribuere en annen forekomst av e-handelsbutikken din. Nå, for å få brukere til å ledes inn mellom disse forekomstene av butikken din, distribuerer du en lastbalanser foran dem.
Lastbalanseren vil fordele trafikk mellom de to forekomstene av applikasjonen din. Dette lar deg skalere applikasjonen din ved å distribuere flere forekomster, og ved å plassere dem bak en lastbalanser øker du mengden trafikk du kan håndtere. Dette bidrar også til å forbedre oppetiden din - med en belastningsbalanser, hvis du har flere forekomster, og en av dem svikter eller går offline, vil belastningsbalanseren lede trafikken til de sunne kjørende nodene.
Utplassering av en belastningsbalanser
Oversikt
Dette er en fullstendig administrert tjeneste. Du trenger ikke å bekymre deg for å holde lastbalanseringsinfrastrukturen i gang. Dette lar deg fokusere på å bygge applikasjonene dine og vokse dem slik du ønsker det. Vær imidlertid oppmerksom på at du må sørge for at applikasjonen din er konfigurert og konfigurert riktig for å fungere med lastbalanseren.
Regler for videresending
Her vil du definere hvilke offentlige porter som er tilordnet hvilke interne porter med protokoll. For eksempel: hvis jeg har en ruby on rails-applikasjon som jeg ønsker å sette en lastbalanser foran, og applikasjonen lytter på port, 1234men jeg vil at brukere skal få tilgang til applikasjonen min via port 80, så vil jeg definere kartleggingen min somLoad Balancer http 80 -> Instance HTTP 1234
Hvis du velger HTTPS som protokoll, vil du bli bedt om å laste opp ditt eget SSL-sertifikat. I en fremtidig utgivelse vil Let's Encrypt-støtte bli lagt til.
Konfigurasjon av belastningsbalanser
Algoritmer
Det er to tilgjengelige alternativer for algoritmen:
-
Roundrobin - Velger servere etter tur. Dette er standardalgoritmen.
-
Leastconn – Velger serveren med minst antall tilkoblinger – det anbefales for lengre økter. Servere i samme back-end roteres også på en round-robin-måte.
Sticky økter
Vi bruker applikasjonskontrollert øktutholdenhet for våre klissete økter.
Applikasjonen din genererer en informasjonskapsel som bestemmer varigheten av økten klebrig. Lastbalanseren utsteder fortsatt sin egen øktinformasjonskapsel på toppen av den, men den følger nå levetiden til programinformasjonskapselen.
Dette gjør selvklebende økter mer effektive, og sikrer at brukere aldri blir rutet til en server etter at deres lokale øktinformasjonskapsel allerede er utløpt. Det er imidlertid mer komplekst å implementere fordi det krever ekstra integrasjon mellom lastbalanseren og applikasjonen.
Du vil bli bedt om å legge til et informasjonskapselnavn.
Merkelapp
Dette er bare en etikett for lastbalanseren din.
Tving HTTP til HTTPS
Dette vil tvinge HTTP-omdirigering til HTTPS. Du trenger et gyldig SSL-sertifikat og HTTPS konfigurert for at dette skal fungere skikkelig.
Helsesjekker
Disse helsesjekkene vil bekrefte at de vedlagte applikasjonene/forekomstene dine er sunne og at de kan rutes til riktig. Hvis en av forekomstene dine mislykkes i en helsesjekk, vil lastbalanseren kutte trafikken til den forekomsten.
Etter distribusjon
Når distribusjonen er fullført (det kan ta noen minutter), vil du bli gitt en IPV4 og en IPV6-adresse som er din offentlige IP for lastbalanseren.
Nå vil du også kunne legge ved/frakoble applikasjonen/forekomstene dine til lastbalanseren, sammen med eventuelle konfigurasjonsendringer du ønsker.
Beregninger
Når belastningsbalanseren har kjørt i noen minutter, samles beregninger. Du vil kunne se beregningene dine fra beregningsfanen i dashbordet for lastbalansering.