Cum faci load balancing la un magazin online?

Configurare noua (How To)

Situatie

E dimineata de Black Friday, intra produsele la reducere si sute de mii de oameni dau refresh in acelasi timp. Pe o arhitectura clasica, procesorul ia foc si baza de date cedeaza instant.

Solutie

Un singur server fizic moare sub presiune oricat de puternic l-ai face. Solutia marilor jucatori precum eMAG nu este sa cumpere un super-calculator, ci sa foloseasca zeci sau sute de servere mai mici, dirijate de un Load Balancer.

Load Balancer-ul actioneaza ca un politist in intersectie. Foloseste softuri ultra-rapide precum Nginx sau HAProxy. Cand tu dai click pe “Adauga in cos”, cererea ta nu loveste serverul de baza de date direct. Loveste prima data acest Load Balancer.

Algoritmul de distribuire se uita rapid la flota de servere din spate. Poate folosi o regula simpla de tip “Round-Robin” (imparte request-urile pe rand: 1, 2, 3, 1, 2, 3) sau se uita care server are cele mai putine conexiuni active in acea milisecunda si arunca traficul acolo.

In plus, nu poti sa intrebi baza de date de fiecare data cat costa un produs. Pagina principala e de cele mai multe ori pusa intr-o memorie rapida de tip Cache (ca Redis). Astfel, cand apesi refresh de cinci ori sperand sa prinzi o placa video, serverul iti livreaza fisierul direct din RAM, fara sa mai deranjeze baza de date.

Tip solutie

Permanent

Voteaza

(8 din 15 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?