Un elefant se legana

eMAG

Iarasi despre eMAG, de data aceasta cu un ochi tehnic ce a observat primul load-balancing la un magazin online romanesc.

Mai exact, o solutie de load-balancing bazata pe DNS round-robin:

[root@fortuna ~]# host www.emag.ro www.emag.ro has address 85.9.58.194 www.emag.ro has address 85.9.58.198 www.emag.ro has address 85.9.58.200

In mod invariabil pentru toate cele 3 IP-uri, traceroute-ul arata:

[...] 3: 85.9.32.65 (85.9.32.65) asymm 7 29.819ms 4: 85.9.32.33 (85.9.32.33) 17.361ms 5: r01-Vl500.emg2.ro.gtsce.net (193.226.179.30) 19.743ms 6: 85.9.58.198 (85.9.58.198) 14.569ms reached Resume: pmtu 1500 hops 6 back 6

…ultimul hop fiind IP-ul respectiv. Toate cele 3 IP-uri sunt deci servite de acelasi provider (GTS) si de acelasi router, indicand o aceeasi locatie.

Concluzia pe care o pot trage e ca eMAG nu mai face fata traficului cu o singura masina (sau cu un setup mixt – apache + php pe una si dbms-ul pe alta).

  • Asta ma face sa ma intreb de ce au ales o solutie mediocra in favoarea uneia… adecvate. In round robin balancing-ul se face la ghici, in functie de ce are chef server-ul DNS sa-i raspunda clientului sau ce are prin cache. De high availability nu poate fi vorba, daca unul din noduri pica, o treime (aproximativa) din clienti raman cu 404-uri in fata si probabil foarte putini o sa aiba rabdarea sa stea cu mana pe refresh pana (daca) intoarce DNS-ul unul din nodurile inca active.

    Daca ar fi sa ghicesc, setup-ul include acum 3 servere http si unul cu baza de date. Da, in spatele celor 3 adrese IP se poate ascunde orice, totusi alegerea nu tocmai eleganta ma face sa inclin ca a fost o urgenta si s-a implementat solutia cea mai rapida.


  • 5 Raspunsuri la “Un elefant se legana”

    1. pe 13 Oct 2008 la 11:41 • CiteazaPermalink Cristi

      Emag nu este primul magazin online romanesc care foloseste load ballancing. PCfun.ro foloseste o solutie HA-LB din vara trecuta din motive de performanta, scalabilitate, securitate, etc.
      HTH,

      Cristi

    2. pe 13 Oct 2008 la 22:38 • CiteazaPermalink Gabi

      Bravo lor ca au nevoie de 3 masini sa tina un site :) Mai nasol era daca aveau shared hosting pe undeva, nu?
      PS: cine e fortuna? ;) )

    3. pe 14 Oct 2008 la 11:00 • CiteazaPermalink Dan Cotofanu

      PHP :P
      Asa cred eu.
      Daca aveau o solutie Java/.NET, un server web (JBoss pt Java sau IIS pt .NET)
      si unul de baze de date (dar care sta ‘in spate’) cred ca era de ajuns.
      @Cristi:
      * performanta – da load balancing-ul i-a ajutat
      * scalabilitate – sa zicem
      * securitate – chiar nu vad cum loadbalancing-ul imbunatatesc securitatea :-?

    4. pe 23 Jan 2009 la 11:18 • CiteazaPermalink Dorin

      Si care ar fi fost solutia adecvata?

    5. pe 27 Jul 2009 la 15:17 • CiteazaPermalink Carina - Ploiesti

      Nu cred ca stie cineva care ar fi solutia adecvata. Nu ne ramane decat sa asteptam sa vedem ce se intampla

    Trackback URI | RSS Comentarii

    Comenteaza acest articol