Tupperware: Facebook's Kubernetes umbulali?

Ulawulo olusebenzayo noluthembekileyo lwamaqela kuwo nawuphi na umlinganiselo ngeTupperware

Tupperware: Facebook's Kubernetes umbulali?

Namhlanje kuqhubeke Iinkqubo kwinkomfa ye-Scale sazisa iTupperware, inkqubo yethu yolawulo lweqela eququzelela izikhongozeli kwizigidi zeeseva eziqhuba phantse zonke iinkonzo zethu. Saqala ukusebenzisa iTupperware ngo-2011, kwaye ukusukela ngoko iziseko zethu zikhule ukusuka 1 iziko ledatha ukugqibezela I-15 amaziko edatha asasazwe nge-geo. Ngalo lonke eli xesha, iTupperware ayizange ime ngxi kwaye iphuhliswe nathi. Siza kukubonisa indlela iTupperware ebonelela ngayo ulawulo lweqela lokuqala, kubandakanywa inkxaso efanelekileyo kwiinkonzo zaseburhulumenteni, iphaneli yokulawula eyodwa kuwo onke amaziko edatha, kunye nokukwazi ukusabalalisa umthamo phakathi kweenkonzo ngexesha langempela. Siza kwabelana ngezifundo esizifundileyo njengoko iziseko zophuhliso zethu zikhula.

I-Tupperware yenza imisebenzi eyahlukeneyo. Abaphuhlisi besicelo bayisebenzisela ukuhambisa nokulawula usetyenziso. Ipakisha ikhowudi yesicelo kunye nokuxhomekeka kumfanekiso kwaye inikezela kwiiseva njengezikhongozeli. Izikhongozeli zibonelela ngokwahlukileyo phakathi kwezicelo kwiseva efanayo ukuze abaphuhlisi bajongane nengqiqo yesicelo kwaye bangabi naxhala malunga nokufumana iiseva okanye ukulawula uhlaziyo. I-Tupperware ikwajonge ukusebenza komncedisi, kwaye ukuba ifumana ukusilela, idlulisela izikhongozeli ukusuka kumncedisi oyingxaki.

Iinjineli zokucwangcisa amandla zisebenzisa iTupperware ukunika amandla amaseva kumaqela asekelwe kuhlahlo lwabiwo-mali kunye nemiqobo. Bakwayisebenzisela ukuphucula ukusetyenziswa kweseva. Abaqhubi beziko ledatha baphendukela kwiTupperware ukuze basasaze ngokufanelekileyo izitya kuwo wonke amaziko edatha kwaye bayeke okanye bahambise izitya ngexesha lokugcinwa. Enkosi koku, ukugcina iiseva, uthungelwano kunye nezixhobo kufuna ungenelelo oluncinci lomntu.

Uyilo lweTupperware

Tupperware: Facebook's Kubernetes umbulali?

I-architecture ye-Tupperware ye-PRN yenye yemimandla yamaziko ethu edatha. Ummandla uqukethe izakhiwo ezininzi zedatha yedatha (PRN1 kunye ne-PRN2) ekufutshane. Siceba ukwenza iphaneli yokulawula enye eya kulawula zonke iiseva kwindawo enye.

Abaphuhlisi bezicelo bahambisa iinkonzo ngendlela yemisebenzi yeTupperware. Umsebenzi unezikhongozeli ezininzi, kwaye zonke ziqhuba ikhowudi yesicelo efanayo.

I-Tupperware inoxanduva lokubonelela ngezikhongozeli kunye nokulawula ubomi babo. Iqulathe amacandelo amaninzi:

  • I-frontend ye-Tupperware inikeza i-APIs ye-interface yomsebenzisi, i-CLI, kunye nezinye izixhobo zokuzenzekelayo apho unokusebenzisana neTupperware. Bafihla sonke isakhiwo sangaphakathi kubanikazi bemisebenzi yeTupperware.
  • I-Tupperware Scheduler yiphaneli yolawulo enoxanduva lokulawula isikhongozeli kunye nobomi bomsebenzi. Isetyenziswa kumanqanaba ommandla nakwihlabathi jikelele, apho umcwangcisi wengingqi elawula iiseva kwindawo enye kwaye umcwangcisi wehlabathi ulawula iiseva ezivela kwimimandla eyahlukeneyo. Umcwangcisi wahlulwe ngokweeshadi, kwaye i-shard nganye ilawula isethi yemisebenzi.
  • I-Tupperware's Scheduler Proxy ifihla i-sharding yangaphakathi kwaye ibonelela ngepheyini efanelekileyo yeglasi kubasebenzisi beTupperware.
  • Umamkeli weTupperware wabela izikhongozeli kwiiseva. Umcwangcisi uphatha ukumisa, ukuqalisa, ukuhlaziya, kunye nokusilela kwezikhongozeli. Okwangoku, i-llocator enye inokulawula ummandla wonke ngaphandle kokwahlula kwii-shards. (Qaphela umahluko kwisigama. Umzekelo, umcwangcisi kwiTupperware uhambelana nephaneli yolawulo kwi Kubernetes, kwaye umamkeli weTupperware ubizwa ngokuba ngumcwangcisi eKubernetes.)
  • Umthengisi wemithombo ugcina umthombo wenyaniso kumncedisi kunye neziganeko zenkonzo. Siqhuba umthengisi omnye wemithombo kwiziko ngalinye ledatha, kwaye igcina lonke ulwazi malunga neeseva kwiziko ledatha. Umrhwebi wezibonelelo kunye nenkqubo yolawulo lwezakhono, okanye inkqubo yokubonelela ngezixhobo, yenza isigqibo ngokuguquguqukayo ukuba yeyiphi ishedyuli yonikezelo elawula ukuba yeyiphi iseva. Inkonzo yokukhangela impilo ibeka iliso kwiiseva kwaye igcina idatha malunga nempilo yabo kwi-broker yemithombo. Ukuba umncedisi uneengxaki okanye ufuna ukugcinwa, umthengisi wemithombo uxelela umabi kunye nomcwangcisi ukuba bayeke izikhongozeli okanye bazihambise kwezinye iiseva.
  • I-Agent yeTupperware yidaemon esebenza kumncedisi ngamnye ophethe unikezelo kunye nokususwa kwezikhongozeli. Ii-aplikeshini ziqhutywa ngaphakathi kwesikhongozeli, nto leyo ibanika ukuba zodwa ngakumbi kunye nokuveliswa kwakhona. Vula kunyaka ophelileyo inkomfa yeSystems @Scale Sele siyichazile indlela iziqulathi zeTupperware ezenziwe ngazo kusetyenziswa imifanekiso, btrfs, cgroupv2 kunye nesystemd.

Iimpawu ezahlukileyo zeTupperware

I-Tupperware ifana ngeendlela ezininzi kwezinye iinkqubo zolawulo lwe-cluster ezifana ne-Kubernetes kunye Mesos, kodwa kukho umahluko:

  • Inkxaso eyakhelwe-ngaphakathi kwiinkonzo zikarhulumente.
  • Iphaneli yokulawula enye yeeseva kumaziko ahlukeneyo edatha ukwenza ngokuzenzekelayo ukuhanjiswa kwee-container ngokusekelwe kwinjongo, ukuchithwa kwamaqela kunye nokugcinwa.
  • Ulwahlulo olucacileyo lwephaneli yolawulo yokwandisa.
  • Icomputing ye-elastic ikuvumela ukuba usasaze amandla phakathi kweenkonzo ngexesha langempela.

Siphuhlise ezi mpawu zipholileyo ukuxhasa usetyenziso olwahlukeneyo olungenammiselo kunye nolunengxelo kuluhlu olukhulu lweeseva ekwabelwana ngazo kwihlabathi jikelele.

Inkxaso eyakhelwe-ngaphakathi kwiinkonzo zikarhulumente.

I-Tupperware isebenza ngeenkonzo ezahlukeneyo ezibalulekileyo ezigcina idatha yemveliso eqhubekayo ye-Facebook, Instagram, Messenger kunye ne-WhatsApp. Ezi zinokuba ziivenkile ezinkulu zexabiso eliphambili (umzekelo. ZippyDB) kunye nokubekwa esweni koovimba bedatha (umzekelo, ODS Gorila и Scuba). Ukugcina iinkonzo ezisemthethweni akulula, kuba inkqubo kufuneka iqinisekise ukuba ukunikezelwa kweekhonteyina kunokumelana nokuphazamiseka okukhulu, kubandakanywa ukuphuma kwenethiwekhi okanye ukucima kombane. Kwaye ngelixa ubuchule obuqhelekileyo, obufana nokusasaza izikhongozeli kuzo zonke iindawo eziphosakeleyo, zisebenza kakuhle kwiinkonzo ezingenammiselo, iinkonzo ezisemthethweni zifuna inkxaso eyongezelelweyo.

Umzekelo, ukuba ukusilela komncedisi kunika ikopi yedatha enye ingabikho, ngaba uvumela ugcino oluzenzekelayo oluya kuhlaziya iicores kwiiseva ezingama-50 ukusuka kwiphuli ye-10? Kuxhomekeke kwimeko. Ukuba enye yala ma-server angama-50 inomnye umzobo wedatha efanayo, kungcono ukulinda kwaye ungalahlekelwa yi-2 replicas kanye. Ukuze senze izigqibo ngokuguquguqukayo malunga nokugcinwa kwenkqubo kunye nokusebenza, sifuna ulwazi malunga nokuphindaphindwa kwedatha yangaphakathi kunye nengqiqo yokubekwa kwenkonzo nganye esemgangathweni.

I-TaskControl interface ivumela iinkonzo ezisemgangathweni ukuba ziphembelele izigqibo ezichaphazela ukufumaneka kwedatha. Ukusebenzisa olu jongano, umcwangcisi wazisa usetyenziso lwangaphandle malunga nemisebenzi yesikhongozeli (ukuqalisa kwakhona, ukuhlaziya, ukufuduka, ukugcinwa). Inkonzo esemgangathweni isebenzisa umlawuli oxelela iTupperware xa kukhuselekile ukwenza umsebenzi ngamnye, kwaye le misebenzi inokutshintshwa okanye ilibaziseke okwethutyana. Kulo mzekelo ungentla, umlawuli wedatha unokuxelela uTupperware ukuba ahlaziye i-49 yeeseva ze-50, kodwa ushiye iseva ethile (X) yedwa okwangoku. Ngenxa yoko, ukuba ixesha lohlaziyo lwe-kernel liyadlula kwaye isiseko sedatha asikakwazi ukubuyisela i-replica eyingxaki, iTupperware isaza kuhlaziya iseva ye-X.

Tupperware: Facebook's Kubernetes umbulali?

Iinkonzo ezininzi ezisemthethweni kwiTupperware zisebenzisa i-TaskControl kungekhona ngokuthe ngqo, kodwa nge-ShardManager, iqonga eliqhelekileyo lokudala iinkonzo ezisemthethweni kwi-Facebook. NgeTupperware, abaphuhlisi banokucacisa injongo yabo yendlela izikhongozeli ezifanele ukuhanjiswa ngayo kumaziko edatha. Nge-ShardManager, abaphuhlisi bacacisa injongo yabo malunga nendlela iishadi zedatha kufuneka zisasazwe ngayo kuzo zonke izitya. I-ShardManager iyazi ngokubeka idatha kunye nokuphindaphinda kwezicelo zayo kwaye inxibelelana neTupperware ngokusebenzisa i-TaskControl interface ukucwangcisa imisebenzi yesikhongozeli ngaphandle kokubandakanyeka ngokuthe ngqo kwesicelo. Olu hlanganiso lwenza lula ulawulo lweenkonzo ezisemgangathweni, kodwa i-TaskControl iyakwazi okungaphezulu. Umzekelo, inqanaba lethu lewebhu elibanzi alinammiselo kwaye isebenzisa i-TaskControl ukulungelelanisa ngokuguquguqukayo izinga lohlaziyo kwizikhongozeli. Ekugqibeleni inqanaba lewebhu liyakwazi ukugqiba ngokukhawuleza ukukhutshwa kwesoftware ezininzi ngosuku ngaphandle kokubeka esichengeni ukufumaneka.

Ukulawula iiseva kumaziko edatha

Xa iTupperware yaqala ukusungulwa ngo-2011, iqela ngalinye leseva lalilawulwa ngumcwangcisi owahlukileyo. Emva koko, i-Facebook cluster yayiyi-server ye-racks exhunywe kwi-network switch enye, kwaye iziko ledatha lahlala amaqela amaninzi. Umcwangcisi unokulawula kuphela abancedisi kwiqela elinye, oku kuthetha ukuba umsebenzi awunako ukusasazeka kuwo wonke amaqela amaninzi. Iziseko zethu zoncedo ziye zakhula, siye sayeka ukuhlanganisana. Ekubeni iTupperware ayikwazanga ukuhambisa umsebenzi ukusuka kwiqela eliyekiweyo ukuya kwamanye amaqela ngaphandle kotshintsho, yayifuna umgudu omkhulu kunye nolungelelwaniso olunyamekileyo phakathi kwabaphuhlisi bezicelo kunye nabaqhubi beziko ledatha. Le nkqubo ibangele ukuchithwa kwemithombo xa iiseva zingasebenzi iinyanga ngenxa yeenkqubo zokuphelisa ugunyaziso.

Senze i-resource broker ukusombulula ingxaki yecluster decommissioning kunye nokulungelelanisa ezinye iintlobo zemisebenzi yolondolozo. Umthengisi wemithombo ugcina umkhondo walo lonke ulwazi oluphathekayo olunxulunyaniswa nomncedisi kwaye ugqiba ngamandla ukuba yeyiphi ishedyuli elawula iseva nganye. Ukudibanisa ngokunamandla iiseva kubacwangcisi kuvumela umcwangcisi ukuba alawule iiseva kumaziko ahlukeneyo edatha. Ukusukela ukuba umsebenzi weTupperware awusakhawulelwanga kwiqela elinye, abasebenzisi beTupperware banokucacisa ukuba izikhongozeli kufuneka zisasazwe njani kuzo zonke iindawo ezingalunganga. Ngokomzekelo, umphuhlisi unokuvakalisa injongo yakhe (uthi: "sebenzisa umsebenzi wam kwi-2 fault domains kummandla we-PRN") ngaphandle kokuchaza iindawo ezithile zokufumaneka. I-Tupperware ngokwayo iya kufumana amaseva afanelekileyo ukuphumeza le njongo, nokuba i-cluster okanye inkonzo ivaliwe.

Scalable ukuxhasa yonke inkqubo yehlabathi

Ngokwembali, iziseko zethu zophuhliso zahlulwe zaba ngamakhulu eeseva ezinikezelweyo zeqela ngalinye. Ngenxa yokuqhekeka kunye nokungabikho kwemigangatho, sineendleko eziphezulu zokusebenza, kwaye iiseva ezingasebenziyo kwakunzima ukuzisebenzisa kwakhona. Kwinkomfa yonyaka ophelileyo Iinkqubo @Scale sabonisa Iziseko ezingundoqo njengenkonzo (IaaS), ekufuneka idibanise iziseko zethu zibe yipaki enkulu yomncedisi omnye. Kodwa ipaki enye yomncedisi inobunzima bayo. Kufuneka ihlangabezane neemfuno ezithile:

  • Ukubaleka. Iziseko zethu zophuhliso zikhule njengoko songeza amaziko edatha kwingingqi nganye. Iiseva ziye zabancinci kwaye zisebenza ngamandla, ngoko ke zininzi kakhulu kwindawo nganye. Ngenxa yoko, umcwangcisi omnye kwingingqi nganye akakwazi ukuphatha inani lezikhongozeli ezinokuqhutywa kumakhulu amawaka eeseva kwingingqi nganye.
  • Ukuthembeka Nokuba umcwangcisi unokunyuswa kangako, umda omkhulu womcwangcisi uthetha ukuba kukho umngcipheko ophezulu weempazamo kwaye ummandla wonke wezikhongozeli unokungalawuleki.
  • Ukunyamezela iimpazamo. Kwimeko yokusilela okukhulu kweziseko ezingundoqo (umzekelo, iiseva eziqhuba umcwangcisi ziyasilela ngenxa yokusilela kuthungelwano okanye ukucima kombane), iziphumo ezibi kufuneka zichaphazele kuphela inxenye yeeseva kummandla.
  • Ukusetyenziswa kokusetyenziswa. Kusenokubonakala ngathi ufuna ukuqhuba abacwangcisi abaninzi abazimeleyo bengingqi enye. Kodwa kwimbono elula, indawo enye yokungena kwindawo ekwabelwana ngayo kwindawo yenza kube lula ukulawula umthamo kunye nemisebenzi.

Sahlula-hlula umcwangcisi kwiishadi ukusombulula iingxaki zokugcina ichibi elikhulu ekwabelwana ngalo. Umcwangcisi ngamnye u-shard ulawula iseti yakhe yemisebenzi kummandla, kwaye oku kunciphisa umngcipheko onxulumene nomcwangcisi. Njengoko idama ekwabelwana ngalo likhula, singongeza ezinye iishadi zesicwangcisi. Kubasebenzisi beTupperware, i-shards kunye ne-schedule proxies zikhangeleka njengephaneli yokulawula enye. Akukho mfuneko yokuba basebenze kunye neqela leeshadi eziququzelela imisebenzi. Izahlulo zomcwangcisi zahluke kakhulu kubacwangcisi beqela ebesizisebenzisile ngaphambili, xa iphaneli yolawulo yayisahlulwa ngaphandle kokwahlula ngokwestatiki iqula ekwabelwana ngalo labancedisi ngokwe-topology yenethiwekhi.

Ukuphucula ukuSebenza ngokuSebenzayo ngeKhompyutha yeElastic

Okukhona sikhulu iziseko zethu ezisisiseko, kokukhona kubaluleke ngakumbi ukusebenzisa iiseva zethu ngokufanelekileyo ukwandisa iindleko zeziseko ezingundoqo kunye nokunciphisa umthwalo. Kukho iindlela ezimbini zokunyusa ukusebenza kakuhle kweseva:

  • Ikhompuyutha ethambileyo - yehlisa iinkonzo ze-intanethi ngeeyure ezithuleyo kwaye usebenzise iiseva ezikhululekileyo kumthwalo ongasebenziyo kwi-intanethi, njengokufunda koomatshini kunye neMaphuNcisa imisebenzi.
  • Ukulayisha ngaphezulu - Beka iinkonzo ze-intanethi kunye nomthwalo webhetshi kwiiseva ezifanayo ukuze umthwalo webhetshi usebenze kwindawo yokuqala ephantsi.

I-bottleneck kumaziko ethu edatha Ukusetyenziswa kwamandla. Ke ngoko, sikhetha iiseva ezincinci, ezonga amandla ezidityanisiweyo zibonelela ngamandla okuqhubela phambili. Ngelishwa, kwiiseva ezincinci ezine-CPU encinci kunye nememori, ukulayisha ngaphezulu akusebenzi kangako. Ngokuqinisekileyo, sinokubeka izikhongozeli ezininzi zeenkonzo ezincinci kumncedisi omncinci osebenza ngamandla odla izixhobo ezincinci zeprosesa kunye nememori, kodwa iinkonzo ezinkulu ziya kuba nokusebenza okuphantsi kule meko. Ke ngoko, sicebisa abaphuhlisi beenkonzo zethu ezinkulu ukuba baziphucule ukuze basebenzise zonke iiseva.


Ngokusisiseko, siphucula ukusebenza kakuhle sisebenzisa i-elastic computing. Uninzi lweenkonzo zethu eziphambili, ezinje ngoKutya kweNdaba, inqaku leMiyalezo, kunye nenqanaba lewebhu langaphambili, ziyahluka ngokuxhomekeke kwixesha losuku. Sehlisa ngabom iinkonzo ze-intanethi ngeeyure ezithuleyo kwaye sisebenzise iiseva ezikhululekileyo kumthwalo ongasebenziyo kwi-intanethi, njengokufunda koomatshini kunye neMaphuNcisa imisebenzi.

Tupperware: Facebook's Kubernetes umbulali?

Siyazi ngokusuka kumava ukuba okona kulungileyo ukunika iiseva ezipheleleyo njengeeyunithi zomthamo onwebekayo kuba iinkonzo ezinkulu zingabaxhasi abakhulu kunye nabathengi abakhulu bomthamo olastiki, kwaye zilungiselelwe ukusebenzisa iiseva zizonke. Xa umncedisi ekhutshiwe kwinkonzo ye-intanethi ngeeyure ezizolileyo, umthengisi wemithombo uqeshisa umncedisi kumcwangcisi ukuze aqhube umsebenzi ongasebenziyo kuyo. Ukuba inkonzo ye-intanethi ifumana umthwalo ophakamileyo, umthengisi wemithombo ngokukhawuleza ukhumbula iseva ebolekiweyo kwaye, kunye nomcwangcisi, uyibuyisela kwinkonzo ye-intanethi.

Izifundo ezifundiweyo kunye nezicwangciso zexesha elizayo

Kwiminyaka eyi-8 edlulileyo, besiphuhlisa iTupperware ukugcina ukukhula okukhawulezayo kwe-Facebook. Sabelana ngento esiyifundileyo kwaye sinethemba lokuba iya kunceda abanye balawule amaziko akhula ngokukhawuleza:

  • Cwangcisa uqhagamshelwano oluguquguqukayo phakathi kwendawo yolawulo kunye neeseva ezizilawulayo. Oku kuguquguquka kuvumela iphaneli yokulawula ukulawula iiseva kumaziko edatha ahlukeneyo, inceda ngokuzenzekelayo ukuchithwa kunye nokugcinwa kwamaqela, kwaye yenza ulwabiwo lwamandla aguquguqukayo usebenzisa i-computing elastic.
  • Ngephaneli yokulawula enye kummandla, kuba lula ngakumbi ukusebenza kunye nemisebenzi kwaye kulula ukulawula i-server enkulu ekwabelwana ngayo. Qaphela ukuba iphaneli yokulawula igcina indawo enye yokungena, nokuba isakhiwo sayo sangaphakathi sihlukaniswe ngenxa yezizathu zokulinganisa okanye ukunyamezela impazamo.
  • Ukusebenzisa imodeli ye-plugin, iphaneli yokulawula inokwazisa usetyenziso lwangaphandle lwemisebenzi yesikhongozeli esizayo. Ngaphezu koko, iinkonzo ezisemgangathweni zinokusebenzisa i-plugin interface ukwenza ngokwezifiso ulawulo lwesikhongozeli. Ngale modeli yeplagin, iphaneli yolawulo ibonelela ngokulula ngelixa isebenza ngokufanelekileyo iinkonzo ezininzi ezahlukeneyo zelizwe.
  • Sikholelwa ukuba i-computing ye-elastic, apho sithatha zonke iiseva kwiinkonzo zabaxhasi bemisebenzi ye-batch, ukufundwa komatshini, kunye nezinye iinkonzo ezingangxamisekanga, yindlela efanelekileyo yokuphucula ukusebenza kakuhle kwamaseva amancinci, anamandla.

Siqala ukuphumeza inqanawa enye yeseva ekwabelwana ngayo yehlabathi. Okwangoku malunga ne-20% yeeseva zethu zikwidama ekwabelwana ngalo. Ukufezekisa i-100%, imiba emininzi kufuneka iqwalaselwe, kubandakanywa nokugcina i-pool yokugcina ekwabelwana ngayo, ukugcinwa ngokuzenzekelayo, ukulawula iimfuno zabaqashi, ukuphucula ukusetyenziswa kweseva, kunye nokuphucula inkxaso yomthwalo wokufunda umatshini. Asikwazi kulinda ukuba sithathe le mingeni kwaye sabelane ngempumelelo yethu.

umthombo: www.habr.com

Yongeza izimvo