Azure Load Balancer, un nou mod de distributie a traficului

Azure Load Balancer este un load balancer de layer 4 (TCP si UDP) care distribuie traficul catre instante functionale ale serviciului de cloud sau catre masini virtuale gazduite pe Azure si configurate intr-un load balancer set. Pentru cei mai putin familiariati cu retelistica, conform modelului OSI, layer 4 este layer-ul de transport, care ofera instrumente functionale si procedurale pentru transferul secventelor de date de la un emitator la un receptor.

Pana de curand, acest Azure Load Balancer folosea un algoritm ce continea 5 elmente fundamentale: IP-ul sursa, portul sursa, IP-ul de destinatie, portul de destinatie si protocolul folosit. Acest model avea anumite neajunsuri, in sensul ca daca se aplicatia din spate initia o sesiune noua, traficul era redirectionat, cel mai probabil, catre alta instanta decat cea folosita initial. 

5 tuple model

Pentru a trece peste aceasta dificultate a fost elaborat un nou model de distributie pentru Azure Load Balancer care este denumit “Source IP Affinity”. Practic, acest model creaza o afinitate la nivel de IP sursa, iar asta inseamna ca traficul va fi mereu directionat catre acelasi end point din load balancing cluster, chiar daca, intre timp, emitatorul initializeaza  noua sesiune pentru a transfera acelasi tip de date.

IP affinity model

Acest nou model de distributie a traficului este extrem de binevenit si pentru upload-ul de continut multimedia, intrucat upload-ul in sine se face printr-un port UDP, dar sesiunea este initializata prin TCP. Practic atunci cand vrem sa uploadam continut multimedia, mai intai se creaza o sesiune TCP pentru a defini elementele comunicarii, dar apoi este creata o sesiune UDP pentru upload-ul in sine. In mod normal ne asteptam ca atat conexiunea TCP cat si cea UDP sa mearga spre acelasi endpoint. In modelul folosit anterior, acest lucru nu era posibil, intrucat atunci cand era initializata sesiunea UDP, foarte probabil traficul era redirectionat catre alt endpoint.

Mai multe scenarii referitoare la noul mod de distributie a traficului folosit de Azure Load Balancer puteti gasi pe blogul oficial al celor de la Azure. Cei care sunt interesati pot gasi tot acolo si exemple concrete pentru accesarea si folosirea API-ului aferent.

Dan Patrascu-Baba

Partner Technical Consultant at Microsoft
Azure PaaS and dev consultant, working for Microsoft. Mostly dealing with Microsoft Azure services, ASP.Net Core, AngularJS, Javascript. Helping partners and customers to write good code and to architect their cloud and hybrid solutions.

Leave a Reply

Your email address will not be published. Required fields are marked *