Što je Load Balancer
Balanseri opterećenja sjede ispred vaše aplikacije i distribuiraju dolazni promet na više instanci vaše aplikacije. Na primjer, recimo da imate web stranicu za e-trgovinu. Primjećujete da ste postali privlačni i da privlačite sve više kupaca svojoj aplikaciji. Kako biste prihvatili ovaj promet, možete implementirati drugu instancu svoje trgovine e-trgovine. Sada, kako biste korisnike usmjerili između ovih instanci vaše trgovine, postavljate balansator opterećenja ispred njih.
Balansator opterećenja će distribuirati promet između dvije instance vaše aplikacije. To vam omogućuje skaliranje aplikacije postavljanjem više instanci, a stavljanjem ih iza balansera opterećenja povećavate količinu prometa koji možete podnijeti. To također pomaže poboljšati vaše vrijeme neprekidnog rada - s balansatorom opterećenja, ako imate više instanci, a jedna od njih ne uspije ili se isključi, balansator opterećenja bi tada preusmjerio promet na zdrave radne čvorove.
Uvođenje balansera opterećenja
Pregled
Ovo je potpuno upravljana usluga. Ne morate brinuti o održavanju ili radu svoje infrastrukture za balansiranje opterećenja. To vam omogućuje da se usredotočite na izradu svojih aplikacija i razvoj kako vam odgovara. Imajte na umu, međutim, da ćete morati provjeriti je li vaša aplikacija pravilno konfigurirana i postavljena za rad s balansiranjem opterećenja.
Pravila prosljeđivanja
Ovdje ćete definirati koji su javni portovi mapirani na koje interne portove s protokolom. Na primjer: ako imam aplikaciju ruby on rails ispred koje želim staviti balansator opterećenja, a aplikacija sluša port, 1234ali želim da korisnici pristupaju mojoj aplikaciji preko porta 80, tada bih svoje mapiranje definirao kaoLoad Balancer http 80 -> Instance HTTP 1234
Ako odaberete HTTPS kao svoj protokol, od vas će se tražiti da učitate vlastiti SSL certifikat. U budućem izdanju bit će dodana podrška Let's Encrypt.
Konfiguracija balansera opterećenja
Algoritmi
Postoje dvije dostupne opcije za algoritam:
-
Roundrobin - bira poslužitelje naizmjence. Ovo je zadani algoritam.
-
Leastconn - Odabire poslužitelj s najmanjim brojem veza – preporučuje se za duže sesije. Poslužitelji u istom stražnjem dijelu također se rotiraju na kružni način.
Sticky Sessions
Koristimo postojanost sesije koju kontrolira aplikacija za naše ljepljive sesije.
Vaša aplikacija generira kolačić koji određuje trajanje ljepljivosti sesije. Balansator opterećenja i dalje izdaje svoj vlastiti kolačić sesije na vrhu, ali sada prati životni vijek aplikacijskog kolačića.
To čini ljepljive sesije učinkovitijima, osiguravajući da korisnici nikada ne budu preusmjereni na poslužitelj nakon što je njihov lokalni kolačić sesije već istekao. Međutim, složenija je za implementaciju jer zahtijeva dodatnu integraciju između balansera opterećenja i aplikacije.
Od vas će se tražiti da dodate naziv kolačića.
Označiti
Ovo je samo oznaka za vaš balansator opterećenja.
Prisilite HTTP na HTTPS
Ovo će prisiliti HTTP preusmjeravanje na HTTPS. Trebat će vam važeći SSL certifikat i HTTPS konfiguriran da bi ovo ispravno funkcioniralo.
Zdravstveni pregledi
Ove zdravstvene provjere će potvrditi da su vaše priložene aplikacije/instance zdrave i da se mogu ispravno preusmjeriti. Ako jedna od vaših instanci ne prođe provjeru ispravnosti, tada će balansator opterećenja prekinuti promet na toj instanci.
Nakon implementacije
Kada se implementacija završi (može potrajati nekoliko minuta), dobit ćete IPV4 i IPV6 adresu koja je vaša javna IP adresa za balansiranje opterećenja.
Sada ćete također moći priložiti/odvojiti svoju aplikaciju/instance na balansator opterećenja, zajedno sa svim promjenama konfiguracije koje želite.
Metrika
Nakon što vaš balansator opterećenja radi nekoliko minuta, prikupit će se metrika. Moći ćete vidjeti svoje mjerne podatke na kartici mjernih podataka na nadzornoj ploči za balansiranje opterećenja.