Tupperware: Kubernetes dilaaga Facebook?

Maareyn hufan oo la isku halayn karo ee kutlada miisaan kasta oo leh Tupperware

Tupperware: Kubernetes dilaaga Facebook?

Maanta oo kale Nidaamyada @ shirka Miisaanka Waxaan soo bandhignay Tupperware, nidaamka maaraynta kutladayada kaas oo abaabula weelasha malaayiin server ah oo ku shaqeeya ku dhawaad ​​dhammaan adeegyadayada. Waxaan markii ugu horeysay geynay Tupperware 2011, ilaa markaas kaabayaasheena ayaa ka soo koray 1 xarunta xogta oo dhan 15 xarumaha xogta juqraafi qaybiyay. Waqtigaas oo dhan, Tupperware ma istaagin oo way nala horumartay. Waxaan ku tusi doonaa sida Tupperware u bixiso maaraynta kutlada heerka koowaad, oo ay ku jirto taageerada ku habboon adeegyada dawlad-goboleedka ah, hal guddi kantarool oo dhammaan xarumaha xogta ah, iyo awoodda qaybinta awoodda adeegyada wakhtiga dhabta ah. Waxaan sidoo kale wadaagi doonaa casharadii aan baranay marka kaabayaashayagu horumaraan.

Tupperware waxay qabataa hawlo kala duwan. Soosaarayaasha arjiyada waxay u adeegsadaan gudbinta iyo maamulida codsiyada. Waxay ku xidhaa code-ka codsiga iyo ku-tiirsanaanta sawirka waxayna u gudbisaa server-yada sidii weel ahaan. Konteenarada waxay bixiyaan go'doon u dhexeeya codsiyada ku jira isla serverka si ay horumariyayaashu ula macaamilaan macquulka codsiga oo aysan ka welwelin helitaanka server-yada ama maamulida cusbooneysiinta. Tupperware sidoo kale waxay la socotaa waxqabadka server-ka, haddii ay aragto cillad, waxay ka wareejisaa weelasha server-ka dhibaatada leh.

Injineerada qorsheynta awooda waxay adeegsadaan Tupperware si ay ugu qoondeeyaan awooda server kooxaha iyadoo lagu saleynayo miisaaniyada iyo caqabadaha. Waxay sidoo kale u isticmaalaan si ay u horumariyaan isticmaalka serverka. Hawl wadeenada xarumaha xogta waxay u jeestaan ​​Tupperware si ay si sax ah ugu qaybiyaan weelasha xarumaha xogta oo ay joojiyaan ama u dhaqaajiyaan weelasha inta lagu jiro dayactirka. Waad ku mahadsan tahay tan, ilaalinta server-yada, shabakadaha iyo qalabka waxay u baahan tahay faragelinta ugu yar ee aadanaha.

Dhismaha Tupperware

Tupperware: Kubernetes dilaaga Facebook?

Dhismaha Tupperware PRN waa mid ka mid ah gobollada xarumaha xogtayada. Gobolku wuxuu ka kooban yahay dhowr dhismayaal xarun xogeed (PRN1 iyo PRN2) oo ku yaal meel u dhow. Waxaan qorsheyneynaa inaan sameyno hal kontorool oo maamuli doona dhammaan server-yada hal gobol.

Soosaarayaasha arjiga waxay ku bixiyaan adeegyada qaabka shaqooyinka Tupperware. Shaqadu waxay ka kooban tahay weelal badan, waxayna kulligood sida caadiga ah wataan code isku mid ah.

Tupperware ayaa mas'uul ka ah bixinta weelasha iyo maareynta meertada noloshooda. Waxay ka kooban tahay dhawr qaybood:

  • Tupperware frontend waxay siisaa API-yada is dhexgalka isticmaalaha, CLI, iyo qalabyada kale ee iswada ee aad la falgali karto Tupperware. Waxay ka qariyaan dhammaan qaab dhismeedka gudaha milkiilayaasha shaqada Tupperware.
  • Jadwalka Tupperware waa guddi kontorool oo mas'uul ka ah maaraynta weelka iyo meertada nolosha shaqada. Waxaa la geeyaa heer gobol iyo heer caalami, halkaas oo jadwalaha gobolku uu maamulo server-yada hal gobol iyo jadwalaha caalamiga ah uu maamulo server-yada gobollo kala duwan. Jadwalka ayaa loo qaybiyaa jeexjeexyo, iyo jeex kastaa wuxuu maamulaa shaqooyin kala duwan.
  • Tupperware's Scheduler Proxy wuxuu qariyaa jeexjeexa gudaha wuxuuna bixiyaa hal galaas oo ku habboon isticmaalayaasha Tupperware.
  • Qoondeeyaha Tupperware wuxuu ku meeleeyaa weelasha server-yada. Jadwaliyehu waxa uu gacanta ku hayaa joojinta, bilaabista, cusboonaysiinta, iyo fashilinta weelasha. Hadda, hal qaybiye ayaa maamuli kara gobolka oo dhan isaga oo aan u kala qaybin jeexjeexyo. (Fiiro gaar ah u yeelo farqiga u dhexeeya erey-bixinta. Tusaale ahaan, jadwaleeyaha Tupperware wuxuu u dhigmaa guddiga kantaroolka ee gudaha Kubureteska, iyo qoondeeyaha Tupperware waxaa loogu yeeraa jadwaleeyaha Kubernetes.)
  • Dilaaliyaha kheyraadka wuxuu kaydiyaa isha runta serverka iyo munaasabadaha adeegga. Waxaan wadnaa hal dallaal kheyraad xarun kasta oo xogeed, waxayna ku kaydisaa dhammaan macluumaadka ku saabsan server-yada xarunta xogtaas. Dilaaliyaha kheyraadka iyo nidaamka maaraynta kartida, ama nidaamka bixinta kheyraadka, ayaa si firfircoon u go'aaminaya jadwalaha gaarsiinta koontaroolaya serverka. Adeegga hubinta caafimaadku waxa uu la socdaa server-yada oo waxa uu ku kaydiyaa xogta caafimaadkooda dilaaliyaha khayraadka. Haddii serfarka uu leeyahay dhibaato ama uu u baahan yahay dayactir, dallaaliyaha kheyraadku wuxuu u sheegaa qoondeeyaha iyo jadwaleeyaha inay joojiyaan weelasha ama u raraan server-yada kale.
  • Wakiilka Tupperware waa daemon ku shaqeeya server kasta oo gacanta ku haya bixinta iyo saarista weelasha. Codsiyada waxay ku dhex socdaan weel, taasoo siinaysa go'doon badan iyo taran. Daar Nidaamyada sannadkii hore @Shirkii Scale Waxaan horay u sharaxnay sida weelasha gaarka ah ee Tupperware loo abuuray iyadoo la adeegsanayo sawirro, btrfs, cgroupv2 iyo systemd.

Tilmaamaha gaarka ah ee Tupperware

Tupperware waxay siyaalo badan ula mid tahay nidaamyada kale ee maaraynta kutlada sida Kubernetes iyo Mesos, laakiin sidoo kale waxaa jira kala duwanaansho:

  • Taageerada lagu dhex dhisay adeegyada gobolka.
  • Hal koox oo kontorool oo loogu talagalay server-yada xarumaha xogta ee kala duwan si ay si otomaatig ah u keenaan gaarsiinta weelasha iyadoo lagu salaynayo ulajeedka, baabiinta kooxaha iyo dayactirka.
  • Cad qaybinta guddiga kantaroolka ee zooming.
  • Xisaabinta Elastic waxay kuu ogolaanaysaa inaad u qaybiso awooda u dhaxaysa adeegyada wakhtiga dhabta ah.

Waxaan u samaynay sifadan wanaagsan si aan u taageerno codsiyo kala duwan oo aan dal lahayn iyo dawladnimo leh oo dhan server-ka weyn ee caalamiga ah.

Taageerada lagu dhex dhisay adeegyada gobolka.

Tupperware waxay ku shaqaysaa adeegyo dawladeed oo kala duwan oo kaydiya xogta alaabta joogtada ah ee Facebook, Instagram, Messenger iyo WhatsApp. Kuwani waxay noqon karaan bakhaarro waaweyn oo lammaane qiimo leh (tusaale. ZipDB) iyo la socodka goobaha xogta (tusaale ahaan, ODS Gorilla и Qulqulka). Ilaalinta adeegyada dawladu ma fududa, sababtoo ah nidaamku waa inuu xaqiijiyaa in sahayda weelasha ay u adkeysan karaan carqaladaha baaxada leh, oo ay ku jiraan go'itaanka shabakadaha ama korontadu. Iyo in kasta oo farsamooyinka caadiga ah, sida qaybinta weelasha meelaha cilladaysan, ay si fiican ugu shaqeeyaan adeegyada dawlad la'aanta, adeegyada dawladu waxay u baahan yihiin taageero dheeraad ah.

Tusaale ahaan, haddii guuldarreysiga server-ka uu keeno hal nuqul oo kayd ah oo aan la heli karin, ma waxaad awood u yeelataa dayactir toos ah kaas oo cusbooneysiin doona xudunta 50 server ee barkad 10 ah? Waxay ku xiran tahay xaaladda. Haddii mid ka mid ah 50-kan server uu haysto nuqul kale oo isla xogtaas ah, waxaa wanaagsan in la sugo oo aan la lumin 2 nuqul mar keliya. Si aan si firfircoon u gaarno go'aannada ku saabsan dayactirka nidaamka iyo waxqabadka, waxaan u baahanahay macluumaadka ku saabsan ku-celinta xogta gudaha iyo macquulka meelaynta adeeg kasta oo dawladeed.

Interface-ka TaskControl wuxuu u oggolaanayaa adeegyada gobolka inay saameeyaan go'aamada saameeya helitaanka xogta. Isticmaalka is-dhex-galkan, jadwal-hayehu waxa uu ogeysiiyaa codsiyada dibadda ee ku saabsan hawlaha weelka (dib u bilaabida, cusboonaysiinta, socdaalka, dayactirka). Adeeg dawladeed wuxuu fuliyaa kontaroole u sheegaya Tupperware marka ay nabdoon tahay in la sameeyo hawlgal kasta, hawlgalladan waa la beddeli karaa ama si ku meel gaar ah ayaa dib loo dhigi karaa. Tusaalaha kore, koontaroolaha keydka xogta ayaa u sheegi kara Tupperware inuu cusboonaysiiyo 49 ka mid ah 50-ka server, laakiin ka tag server gaar ah (X) hadda. Natiijo ahaan, haddii wakhtiga cusboonaysiinta kernelku dhaafo oo kaydku aanu wali awoodin inuu soo celiyo nuqulkii dhibka lahaa, Tupperware wuxuu wali cusboonaysiin doonaa server-ka X.

Tupperware: Kubernetes dilaaga Facebook?

Adeegyo badan oo dawladeed oo ku jira Tupperware si toos ah uma isticmaalaan TaskControl, laakiin iyada oo loo marayo ShardManager, oo ah goob caadi ah oo lagu abuuro adeegyo dawladeed Facebook. Tupperware, horumariyayaashu waxay qeexi karaan ujeedadooda sida saxda ah ee weelasha loogu qaybin lahaa xarumaha xogta. Iyadoo ShardManager, horumariyayaashu waxay qeexayaan ujeedadooda sida jeexjeexyada xogta loogu qaybinayo weelasha. ShardManager waxa uu ka warqabaa meelaynta xogta iyo ku celcelinta codsiyadeeda waxana uu kala xidhiidhaa Tupperware iyada oo loo marayo interface TaskControl si uu u jadwaleeyo hawlaha weelka iyada oo aan si toos ah loogu lug lahayn codsiga. Isku-dhafkan ayaa si weyn u fududeynaya maamulka adeegyada gobolka, laakiin TaskControl ayaa awood u leh wax badan. Tusaale ahaan, heerkayaga shabakadeed ee baaxadda leh waa bilaa dal wuxuuna isticmaalaa TaskControl si uu si firfircoon ugu hagaajiyo heerka cusboonaysiinta weelasha. Ugu dambayntii heerka shabkada ayaa awood u leh inuu si dhakhso ah u dhamaystiro soo daayo software badan maalintii iyada oo aan la dhimin helitaanka.

Maareynta server-yada xarumaha xogta

Markii ugu horeysay ee Tupperware la bilaabay 2011, koox kasta oo server ah waxaa maamulay jadwal gaar ah. Waagaas, kooxda Facebook waxay ahayd koox ka mid ah kaydka serverka oo ku xidhan hal shabakad oo beddela, iyo xarunta xogtu waxa ay haysay dhawr rucubood. Jadwaliyehu waxa uu kaliya ku maamuli karaa adeegayaasha hal koox, taasoo la macno ah in shaqadu aanay ku fidi karin kooxo badan. Kaabayaasheena ayaa koray, waxaan si sii kordheysa u qornay kooxihii. Mar haddii Tupperware ay ka guuri kari wayday shaqada kooxihii go'ay una guuri wayday rucubyada kale iyada oo aan isbedelin, waxay u baahday dadaal badan iyo iskudubarid taxadar leh oo u dhexeeya horumariyeyaasha codsiyada iyo hawl wadeenada xarumaha xogta. Nidaamkani waxa uu keenay in la khasaariyo markii adeegayaashu ay hawl-la'aan yihiin bilo sababo la xidhiidha habraacyada kala-diridda.

Waxaan abuurnay dallaal kheyraad si aan u xalino dhibaatada kala goynta kooxda iyo isku dubaridka noocyada kale ee hawlaha dayactirka. Dallaaliyaha kheyraadka ayaa la socda dhammaan macluumaadka jirka ee la xiriira server-ka wuxuuna si firfircoon u go'aansadaa jadwaleeyaha xakameynaya server kasta. Si firfircoon ugu xidhidhiyaha adeegayaasha iyo jadwalayaasha waxay u ogolaataa jadwalaha inuu maamulo server-yada xarumaha xogta kala duwan. Maadaama shaqada Tupperware aysan hadda ku xaddidnayn hal koox, isticmaalayaasha Tupperware waxay qeexi karaan sida weelasha loogu qaybin karo qaybaha cilladaha. Tusaale ahaan, horumariye waxa uu ku dhawaaqi karaa ujeedadiisa ( dheh: "ku socodsii shaqadayda 2 goobood oo khalad ah ee gobolka PRN") iyada oo aan la cayimin aagagga la heli karo. Tupperware lafteedu waxay heli doontaa adeegayaal ku habboon si ay u hirgeliyaan ujeedadan, xitaa haddii kutlada ama adeegga la joojiyo.

La qiyaasi karo si loo taageero nidaamka caalamiga ah oo dhan

Taariikh ahaan, kaabayaashayagu waxa loo qaybiyay boqollaal barkadood oo server ah oo loogu talagalay kooxo gaar ah. Kala qaybsanaan iyo jaangooyo la'aan awgeed, waxaan haysanay kharashyo hawleed oo sarreeya, adeegayaasha aan shaqaynina way adkeyd in mar kale la isticmaalo. Shirkii sanadkii hore Nidaamyada @Miisaanka waanu soo bandhignay kaabayaasha adeeg ahaan (IaaS), kaas oo mideeya kaabayaasheena si ay u noqdaan beer weyn oo hal server ah. Laakiin hal baarkin oo server ah ayaa leh dhibaatooyin u gaar ah. Waa inay buuxisaa shuruudaha qaarkood:

  • Miisaanka. Kaabayaasheena ayaa koray markii aan ku darnay xarumaha xogta ee gobol kasta. Adeegayaashu waxay noqdeen kuwo yaryar oo tamar badan, sidaas darteed waxaa jira qaar badan oo iyaga ka mid ah oo ku yaal gobol kasta. Taasi waxay keentay in hal jadwalle gobol kasta aanu xamili karin tirada konteenarada ee lagu shaqayn karo boqollaal kun oo server-ka gobol kasta ah.
  • Kalsooni Xitaa haddii jadwaleeyaha la kordhin karo wax intaa le'eg, baaxadda weyn ee jadwaleeyaha waxay la macno tahay inay jirto khatar sare oo khaladaad ah iyo dhammaan gobolka weelku waxay noqon karaan kuwo aan la maarayn karin.
  • Dulqaadka qaladka. Haddii ay dhacdo in kaabayaal dhaqaale oo aad u weyn (tusaale ahaan, server-yada ku shaqeeya jadwalaha ayaa ku guuldareysta sababtoo ah cillad shabakad ama koronto), cawaaqibta xun waa in ay saameeyaan kaliya qayb ka mid ah server-yada gobolka.
  • Ku habboonaanta isticmaalka. Waxa laga yaabaa in ay u muuqato in aad u baahan tahay in aad dhawr jadwal oo madax-bannaan u socodsiiso hal gobol. Laakiin marka laga eego dhinaca ku habboonaanta, hal meel oo laga soo galo barkadda la wadaago ee gobolka ayaa sahlaysa in la maareeyo awoodda iyo shaqooyinka.

Waxaanu u qaybinay jadwaleeyaha jeexjeexyada si loo xalliyo dhibaatooyinka ilaalinta barkad weyn oo la wadaago. Jadwal kasta oo shard ah ayaa maamula shaqooyin u gaar ah oo ka jira gobolka, taasina waxay yaraynaysaa khatarta la xidhiidha jadwalaha. Marka barkada la wadaago ay koraan, waxaan ku dari karnaa jadwal jadwal badan. Isticmaalayaasha Tupperware, jeexjeexyada iyo jadwaleeyaha wakiillada waxay u egyihiin hal guddi kantarool. Ma aha in ay la shaqeeyaan jeexjeexyo badan oo habeeya hawlaha. Jadwalka jadwalku asal ahaan wuu ka duwan yahay jadwalayaasha kooxda ee aan horay u adeegsan jirnay, markii guddiga kantaroolka la qaybiyay iyada oo aan si sax ah loo qaybin barkada la wadaago ee adeegayaasha iyada oo loo eegayo topology network.

Ku Hagaajinta Waxtarka Isticmaalka Xisaabinta Laastikada

Marka ay sii weynaadaan kaabayaasheena, ayaa aad muhiim u ah in aan u isticmaalno adeegayaashayada si hufan si aan u wanaajino kharashyada kaabayaasha oo loo yareeyo culeyska. Waxaa jira laba siyaabood oo lagu kordhinayo waxtarka isticmaalka serverka:

  • Xisaabinta Elastic - hoos u dhig adeegyada khadka inta lagu jiro saacadaha aamusnaanta oo isticmaal adeegayaasha xorta ah ee culeyska shaqada ee offline-ka ah, sida barashada mashiinka iyo shaqooyinka MapReduce.
  • Culayska xad dhaafka ah - Dhig adeegyada khadka iyo culayska shaqada dufcaddii isku mid ah server-yada si culayska shaqadu ugu socdo mudnaan hoose.

Caqiidada xarumaha xogtayadu waa isticmaalka awoodda. Sidaa darteed, waxaanu door bidnaa adeegayaal yaryar oo tamar fiican leh kuwaas oo si wada jir ah u bixiya awood farsamayneed oo badan. Nasiib darro, server-yada yaryar ee leh CPU iyo xusuusta yar, culeyska xad-dhaafka ah ayaa waxtar yar. Dabcan, waxaan ku dhejin karnaa dhowr weel oo adeegyo yaryar ah hal server yar oo tamar wanaagsan leh kaas oo isticmaala kheyraadka processor-ka iyo xusuusta yar, laakiin adeegyada waaweyni waxay yeelan doonaan waxqabad hooseeya xaaladdan. Sidaa darteed, waxaan kula talineynaa horumarinta adeegyadayada waaweyn inay hagaajiyaan iyaga si ay u isticmaalaan dhammaan server-yada.


Asal ahaan, waxaanu hagaajinaynaa waxtarka isticmaalka anagoo adeegsanayna xisaabinta laastikada. Qaar badan oo ka mid ah adeegyadeena waaweyn, sida quudinta wararka, qaabka fariimaha, iyo heerka hore ee shabakada, way kala duwan yihiin iyadoo ku xidhan wakhtiga maalinta. Waxaan si ula kac ah hoos ugu dhigaynaa adeegyada khadka inta lagu jiro saacadaha aamusnaanta waxaana u isticmaalnaa adeegayaasha xorta ah culeysyada shaqada ee offline-ka ah, sida barashada mashiinka iyo shaqooyinka MapReduce.

Tupperware: Kubernetes dilaaga Facebook?

Waxaan ka ognahay waayo-aragnimada in ay ugu wanaagsan tahay in la bixiyo dhammaan server-yada si ay u noqdaan unug awood laastikada ah sababtoo ah adeegyada waaweyn waa deeq-bixiyeyaasha waaweyn iyo macaamiisha waaweyn ee awoodda laastikada, waxaana loo hagaajiyay in ay isticmaalaan dhammaan server-yada. Marka seerfarka laga sii daayo adeegga khadka inta lagu jiro saacadaha xasilloon, dallaaliyaha kheyraadku wuxuu ka kireeyaa server-ka jadwalaha si uu ugu shaqeeyo culeyska shaqada ee offline-ka ah. Haddii adeegga khadka uu la kulmo culeyska ugu sarreeya, dallaaliyaha kheyraadku wuxuu si degdeg ah u soo celinayaa serfarka la amaahday, oo ay weheliyaan jadwalaha, ku soo celiyaan adeegga khadka.

Casharradii laga bartay iyo qorshayaasha mustaqbalka

8dii sano ee la soo dhaafay, waxaan horumarinaynay Tupperware si aan ula socono kobaca degdega ah ee Facebook. Waxaan wadaagnaa wixii aan baranay waxaana rajeyneynaa inay ka caawin doonto kuwa kale inay maareeyaan kaabayaasha dhaqsaha badan u koraya:

  • Samee xiriir dabacsan oo u dhexeeya guddiga kantaroolka iyo server-yada ay maamusho. Dabacsanaantani waxay u oggolaanaysaa guddiga kantaroolku inay maamulaan server-yada xarumaha xogta kala duwan, waxay gacan ka geysataa si otomaatig ah u-dejinta iyo dayactirka kooxaha, waxayna awood u siinaysaa qoondaynta awoodda firfircoon iyadoo la adeegsanayo xisaabinta laastikada.
  • Iyada oo hal guddi koontarool oo gobolka ah, waxay noqonaysaa mid ku habboon in lagu shaqeeyo hawlaha oo ay fududahay in la maareeyo server weyn oo la wadaago. Ogsoonow in guddiga kontoroolka uu hayo hal dhibic oo laga soo galo, xitaa haddii qaab-dhismeedkiisa gudaha loo kala soocay sababo miisaan ama dulqaadka cilladda.
  • Isticmaalka qaabka plugin, guddiga kantaroolku wuxuu ogeysiin karaa codsiyada dibadda ee hawlaha weelka soo socda. Intaa waxaa dheer, adeegyada dawladu waxay isticmaali karaan interface-ka plugin si ay u habeeyaan maamulka weelka. Qaabka plugin-kan, guddiga kantaroolku wuxuu bixiyaa fududaan isagoo si hufan ugu adeegaya adeegyo badan oo kala duwan oo dawladeed.
  • Waxaan aaminsanahay in xisaabinta laastikada, halkaas oo aan ka saarno dhammaan adeegayaasha ku-deeqaha ee shaqooyinka dufcada, barashada mashiinka, iyo adeegyada kale ee aan degdegga ahayn, ay tahay habka ugu wanaagsan ee lagu wanaajin karo waxtarka adeegayaasha yaryar, tamarta waxtarka leh.

Waxaan hadda bilaabaynaa inaan hirgelinno hal server oo caalami ah oo la wadaago. Hadda qiyaastii 20% serfaradayadu waxay ku jiraan barkad la wadaago. Si loo gaaro 100%, arrimo badan ayaa loo baahan yahay in wax laga qabto, oo ay ku jiraan ilaalinta barkada kaydinta la wadaago, dayactirka otomatiga ah, maaraynta shuruudaha kiraystaha, hagaajinta ka faa'iidaysiga serferka, iyo hagaajinta taageerada culeyska shaqada ee barashada mashiinka. Ma sugi karno in aan caqabadahaas qaadno oo aan wadaagno guulahayaga.

Source: www.habr.com

Add a comment