iNSmart Code

Si i konfiguron Facebook miliona serverët e saj çdo ditë


Kur ju jeni një kompani me madhësinë e Facebook me më shumë se dy miliardë përdorues në miliona serverë, duke bërë mijëra ndryshime të konfigurimit çdo ditë, duke përfshirë triliona kontrolle konfigurimi, siç mund të imagjinoni, konfigurimi është një lloj marrëveshjeje e madhe. Ashtu si me shumicën e gjërave me Facebook, ata përballen me probleme në shkallë, disa kompani duhet të merren dhe shpesh arrijnë kufijtë e të qënit johuman.

Për të zgjidhur çështjet e tyre unike, kompania zhvilloi një proces të ri të shpërndarjes së konfigurimit të quajtur Location Aware Delivery ose LAD. Para zhvillimit të LAD, kompania kishte përdorur një mjet me burim të hapur të quajtur Zoo Keeper për shpërndarjen e të dhënave të konfigurimit dhe ndërsa ai mjet ka punuar, ai kishte disa kufizime mjaft të konsiderueshme për një kompani me madhësinë e Facebook.

Ndoshta më e madhja prej tyre ishte duke u kufizuar në shpërndarjet 5 MB me konfigurim të kufizuar në 2500 abonentë në të njëjtën kohë. Për t’ju dhënë një ndjenjë se si funksionon konfigurimi, kjo përfshin dërgimin e një shërbimi në Facebook si Messenger në kohë reale me konfigurimin e duhur. Kjo mund të nënkuptojë dërgimin në gjuhën angleze për një përdorues dhe spanjisht për një tjetër, të gjitha në fluturim nëpër miliona serverë.

Facebook donte të krijonte një mjet që tejkaloi ato kufizime, ndau të dhënat nga mekanizmi i shpërndarjes, kishte një kohë latente prej më pak se pesë sekonda dhe mbështeti 10X fotografi më shumë sesa Zoo Keeper. Oh po, dhe donte që të gjitha këto për të kandiduar në miliona klientë dhe të merreshin me çmimet e çmendura të përditësimit dhe pikave të trafikut që vetëm Facebook mund t’i sjellë.

Produkti që krijoi ekipi i inxhinierisë në Facebook, LAD përbëhet nga disa pjesë: një proxy që ulet në çdo makinë të vetme në familjen e Facebook dhe shpërndan skedarët e konfigurimit për çdo makinë që dëshiron ose ka nevojë për një . Pjesa e dytë është një shpërndarës, i cili si emri nënkupton dorëzimin e informacionit të konfigurimit. Ai e arrin këtë duke kontrolluar për përditësime të reja dhe kur i gjen ato, krijon një pemë shpërndarjeje për një sërë makinash, të cilat kërkojnë përditësimin.

Siç shkruan Ali Haider-Zaveri i Facebook në një postim në blog njoftimin e metodës së re të shpërndarjes, metodologjia e pemëve ndihmon në zgjidhjen e një sërë problemesh me të cilat përballet Facebook gjatë shpërndarjes së përditësimeve të konfigurimit në volumin ekstrem. “Duke shfrytëzuar një pemë, LAD siguron që azhurnimet të shtyhen vetëm tek proxyët e interesuar në vend të të gjitha makinave në flotë. Përveç kësaj, një makinë prindëse mund të dërgojë drejtpërdrejt përditësime për fëmijët e saj, gjë që siguron që asnjë makinë e vetme pranë rrënjës të mos mbytet, “shkroi Haider-Zaveri.

Sa i përket këtyre kufizimeve, kompania ka qenë në gjendje t’i kapërcejë ato. Në vend të një kufiri të përditësimit prej 5 MB, ata e kanë rritur atë në 100 MB dhe në vend të 2500 kufijve të përdoruesit, ata e kanë rritur atë në 40,000.

Një sistem i tillë nuk erdhi lehtë. Ai kërkoi testime dhe riaftësim, por ka arritur prodhimin sot – të paktën tani për tani, derisa Facebook të përballet me një sfidë tjetër dhe gjen një mënyrë të re për të bërë gjërat që askush nuk e ka parë më parë.