Što je Server Affinity?

Kada se korisnik prijavi u računalni sustav na Internetu, možda koristi temeljnu tehnologiju afiniteta poslužitelja. Ovo je tehnika u kojoj je pojedinačni korisnik vezan za određeni računalni poslužitelj na Internetu. Ova korelacija jedan-na-jedan obično je neophodna za računalne aplikacije koje pohranjuju kritične informacije o pojedincu. Neki primjeri uključuju online sustave za plaćanje računa, bankarstvo i maloprodajne usluge.

Afinitet poslužitelja je računalna tehnika u kojoj se podaci o klijentima privremeno spremaju na računalni uređaj kako bi se omogućilo dovršavanje transakcija prodaje na mreži. To se najčešće koristi u maloprodajnim programima. Osigurava da će transakcija ostati netaknuta na poslužitelju dok se kupnja ne završi.

Većina velikih računalnih aplikacija raspoređena je na mnoge klastere poslužitelja. Ovaj distribuirani proces zahtijeva oblik afiniteta poslužitelja kako bi se osiguralo da je aktivnost sesije korisnika dostupna za svaki zahtjev. Balansator opterećenja obično upravlja ovim procesom na način sličan automatiziranom prometnom policajcu. Kako se svaki sljedeći zahtjev tumači, balansator opterećenja određuje koji poslužitelj treba upravljati procesom.

Postoji mnogo načina da afinitet poslužitelja funkcionira. Jedna od najčešće korištenih tehnika poznata je kao upravljanje ljepljivim sesijama. Ovo je proces u kojem se informacije o sesiji korisnika spremaju u lokalnu memoriju poslužitelja koji je pokrenuo početnu transakciju. Ove informacije se također spremaju na lokalno računalo za svaki dodatni zahtjev kao kolačić. Ako korisnik postavi dodatne zahtjeve, automatski se preusmjerava na poslužitelj koji je pokrenuo transakciju.

Afinitet poslužitelja postavlja nekoliko ograničenja na računalne aplikacije. Ova tehnika obično utječe na performanse, fleksibilnost i pouzdanost. Kada program koristi ovaj pristup, prisiljava zahtjeve da idu na određene poslužitelje u klasteru. Ako ti poslužitelji postanu preopterećeni ili nedostupni, korisnik će obično primiti poruku o pogrešci da internetska web stranica ne radi, iako su drugi poslužitelji dostupni.

Kada je distribuirani računalni sustav uistinu uravnotežen opterećenjem, svaki zahtjev se preusmjerava na drugi poslužitelj. Ovaj pristup balansiranja opterećenja se smanjuje kada se primjenjuju tehnike afiniteta poslužitelja. Balansator opterećenja je prisiljen poslati zahtjev određenim strojevima, što može uzrokovati preopterećenje kutije zahtjevima.
Važno je razmotriti druge opcije prije implementacije rješenja afiniteta poslužitelja. To obično ograničava performanse i skalabilnost internetske aplikacije, što izravno utječe na korištenje aplikacije. Neke bolje opcije uključuju i lokalnu pohranu memorije i tehnike pohrane baze podataka koje dopuštaju zahtjev bez stanja za aplikaciju.