Tupperware: 'molai oa Facebook oa Kubernetes?

Tsamaiso e sebetsang hantle le e tšepahalang ea lihlopha ka tekanyo efe kapa efe ka Tupperware

Tupperware: 'molai oa Facebook oa Kubernetes?

Kajeno ho ea pele Sistimi @Scale kopano re tsebisitse Tupperware, sistimi ea rona ea taolo ea lihlopha e hlophisang lijana ho limilione tsa li-server tse tsamaisang hoo e batlang e le lits'ebeletso tsohle tsa rona. Re qalile ho sebelisa Tupperware ka 2011, 'me ho tloha ka nako eo litšebeletso tsa rona li holile ho tloha 1 setsi sa data ho phethahala Litsi tsa data tse 15 tse ajoang ke geo. Nakong ena eohle, Tupperware ha ea ka ea ema 'me ea tsoela pele le rona. Re tla u bontša kamoo Tupperware e fanang ka tsamaiso ea lihlopha tsa sehlopha sa pele, ho kenyelletsa le ts'ehetso e bonolo bakeng sa lits'ebeletso tsa boemo bo phahameng, phanele e le 'ngoe ea taolo bakeng sa litsi tsohle tsa data, le bokhoni ba ho aba bokhoni lipakeng tsa lits'ebeletso ka nako ea nnete. Hape re tla arolelana dithuto tseo re ithutileng tsona ha meralo ya rona e ntse e fetoha.

Tupperware e etsa mesebetsi e fapaneng. Basebelisi ba lisebelisoa ba e sebelisa ho fana le ho laola lits'ebetso. E kenya khoutu ea kopo le litšepiso ho setšoantšo ebe e e isa ho li-server joalo ka lijana. Lits'oants'o li fana ka karohano lipakeng tsa lits'ebetso ho seva e le 'ngoe e le hore bahlahisi ba sebetsane le mohopolo oa ts'ebeliso mme ba se ke ba tšoenyeha ka ho fumana li-server kapa ho laola lintlafatso. Tupperware e boetse e lekola ts'ebetso ea seva, 'me haeba e fumana e hloleha, e fetisetsa lijana ho tsoa ho seva e nang le bothata.

Baenjiniere ba moralo oa bokhoni ba sebelisa Tupperware ho abela matla a li-server ho lihlopha tse ipapisitseng le tekanyetso le lithibelo. Ba boetse ba e sebelisa ho ntlafatsa ts'ebeliso ea seva. Basebetsi ba setsi sa data ba fetohela ho Tupperware ho aba lijana hantle ho pholletsa le litsi tsa data le ho emisa kapa ho tsamaisa lijana nakong ea tlhokomelo. Ka lebaka la sena, ho boloka li-server, marang-rang le lisebelisoa ho hloka ho kenella ho fokolang ha batho.

Mohaho oa Tupperware

Tupperware: 'molai oa Facebook oa Kubernetes?

Mehaho ea Tupperware PRN ke e 'ngoe ea libaka tsa litsi tsa rona tsa data. Sebaka sena se na le mehaho e mengata ea setsi sa data (PRN1 le PRN2) e haufi le moo. Re rera ho etsa karolo e le 'ngoe ea taolo e tla laola li-server tsohle sebakeng se le seng.

Baetsi ba likopo ba fana ka lits'ebeletso ka mokhoa oa mesebetsi ea Tupperware. Mosebetsi o na le lijana tse ngata, 'me kaofela ha tsona li tsamaisa khoutu e tšoanang ea kopo.

Tupperware e ikarabella bakeng sa ho fana ka lijana le ho laola bophelo ba bona. E na le likarolo tse 'maloa:

  • Tupperware frontend e fana ka li-API bakeng sa sebopeho sa mosebelisi, CLI, le lisebelisoa tse ling tsa boiketsetso tseo ka tsona u ka sebelisanang le Tupperware. Ba pata mohaho oohle oa ka hare ho beng ba mosebetsi oa Tupperware.
  • Tupperware Scheduler ke sehlopha sa taolo se ikarabellang bakeng sa ho laola setshelo le bophelo ba mosebetsi. E sebelisoa maemong a tikoloho le a lefats'e, moo mohlophisi oa tikoloho a laolang li-server sebakeng se le seng mme mohlophisi oa lefats'e o laola li-server tse tsoang libakeng tse fapaneng. Sehlophisi se arotsoe ka li-shards, 'me shard ka' ngoe e laola sehlopha sa mesebetsi.
  • Tupperware's Scheduler Proxy e pata sharding e ka hare mme e fana ka sebaka se le seng sa khalase bakeng sa basebelisi ba Tupperware.
  • Mofani oa Tupperware o abela lijana ho li-server. Sehlophisi se sebetsana le ho emisa, ho qala, ho ntlafatsa, le ho felloa ke matla ha lijana. Hona joale, mofani a le mong a ka laola sebaka sohle ntle le ho arola likotoana. (Hlokomela phapano ea mantsoe. Mohlala, mohlophisi ho Tupperware o lumellana le karolo ea taolo ho Kubernetes, mme moabi oa Tupperware o bitsoa mohlophisi ho Kubernetes.)
  • Morekisi oa lisebelisoa o boloka mohloli oa 'nete bakeng sa seva le liketsahalo tsa litšebeletso. Re tsamaisa morekisi oa lisebelisoa bakeng sa setsi se seng le se seng sa data, 'me se boloka tlhahisoleseling eohle mabapi le li-server tse setsing seo sa data. Morekisi oa lisebelisoa le sistimi ea taolo ea bokhoni, kapa sistimi ea ho fana ka lisebelisoa, e etsa qeto ea hore na ke mohlophisi ofe ea tsamaisang o laola seva efe. Ts'ebeletso ea tlhahlobo ea bophelo e hlokomela li-server mme e boloka lintlha tse mabapi le bophelo ba tsona ho morekisi oa lisebelisoa. Haeba seva se na le mathata kapa se hloka tlhokomelo, morekisi oa lisebelisoa o bolella mofani le mohlophisi ho emisa lijana kapa ho li isa ho li-server tse ling.
  • Tupperware Agent ke daemon e sebetsang ho seva e 'ngoe le e 'ngoe e sebetsanang le ho fana le ho tlosoa ha lijana. Lisebelisoa li sebetsa ka har'a sets'oants'o, e leng se fanang ka ho itšehla thajana le ho ikatisa haholoanyane. E butsoe selemong se fetileng kopano ea Systems @Scale Re se re hlalositse hore na lijana tsa Tupperware li entsoe joang ka litšoantšo, btrfs, cgroupv2 le systemd.

Likarolo tse ikhethang tsa Tupperware

Tupperware e ts'oana ka mekhoa e mengata le lits'ebetso tse ling tsa taolo ea lihlopha tse kang Kubernetes le Mesos, empa ho boetse ho na le liphapang:

  • Ts'ehetso e hahelletsoeng bakeng sa lits'ebeletso tsa mmuso.
  • Phanele e le 'ngoe ea taolo bakeng sa li-server tse litsing tse fapaneng tsa data ho tsamaisa phano ea lijana ho ipapisitsoe le sepheo, ho felisoa ha lihlopha le tlhokomelo.
  • Karohano e hlakileng ea phanele ea taolo bakeng sa ho atametsa.
  • Khomphutha ea Elastic e u lumella ho tsamaisa matla lipakeng tsa lits'ebeletso ka nako ea nnete.

Re ntlafalitse likarolo tsena tse ntle ho ts'ehetsa mefuta e fapaneng ea lits'ebetso tse se nang naha le tse ntle ho tsoa ho sehlopha se seholo sa li-server tse arolelanoang lefatšeng ka bophara.

Ts'ehetso e hahelletsoeng bakeng sa lits'ebeletso tsa mmuso.

Tupperware e sebetsa ka mefuta e fapaneng ea lits'ebeletso tsa bohlokoa tse bolokang lintlha tsa sehlahisoa tsa Facebook, Instagram, Messenger le WhatsApp. Tsena e ka ba mabenkele a maholo a li-key-value pairs (mohlala. ZippyDB) le ho beha leihlo polokelong ea data (mohlala, ODS Gorilla и scuba). Ho boloka lits'ebeletso tsa mmuso ha ho bonolo, hobane sistimi e tlameha ho netefatsa hore phepelo ea lijana e ka mamella litšitiso tse kholo, ho kenyeletsoa ho tima marang-rang kapa ho khaoha ha motlakase. 'Me le hoja mekhoa e tloaelehileng, e kang ho aba lijana ho pholletsa le libaka tse nang le liphoso, e sebetsa hantle bakeng sa litšebeletso tse se nang naha, litšebeletso tse phahameng li hloka tšehetso e eketsehileng.

Mohlala, haeba ho hloleha ha seva ho etsa hore setšoantšo se le seng sa database se se ke sa fumaneha, na u lokela ho etsa hore ho lokisoe ka boiketsetso ho tla nchafatsa li-cores ho li-server tse 50 ho tsoa letamong la 10? Ho itšetlehile ka boemo. Haeba e 'ngoe ea li-server tsena tse 50 e na le setšoantšo se seng sa database e le' ngoe, ho molemo ho ema 'me u se ke ua lahleheloa ke likopi tse 2 hang-hang. E le hore re tsebe ho etsa liqeto mabapi le tlhokomelo le bophelo bo botle ba sistimi, re hloka tlhaiso-leseling mabapi le phetisetso ea data ea kahare le mokhoa oa ho beha ts'ebeletso e 'ngoe le e 'ngoe ea maemo.

TaskControl interface e lumella lits'ebeletso tsa boemo bo holimo ho susumetsa liqeto tse amang ho fumaneha ha data. U sebelisa sebopeho sena, mohlophisi o tsebisa lits'ebetso tsa kantle mabapi le ts'ebetso ea setshelo (ho qala bocha, ho nchafatsa, ho falla, tlhokomelo). Ts'ebeletso ea boemo bo botle e sebelisa molaoli ea bolellang Tupperware ha ho bolokehile ho etsa ts'ebetso ka 'ngoe, 'me ts'ebetso ena e ka fetoloa kapa ea lieha ka nakoana. Mohlaleng o ka holimo, molaoli oa database a ka bolella Tupperware ho ntlafatsa li-server tse 49 ho tse 50, empa tlohela seva e itseng (X) e le mong hajoale. Ka lebaka leo, haeba nako ea ntlafatso ea kernel e feta mme database e ntse e sa khone ho khutlisa replica e nang le bothata, Tupperware e ntse e tla nchafatsa seva ea X.

Tupperware: 'molai oa Facebook oa Kubernetes?

Litšebeletso tse ngata tsa boemo bo botle ho Tupperware ha li sebelise TaskControl ka kotloloho, empa ka ShardManager, sethala se tloaelehileng sa ho theha lits'ebeletso tse ntle ho Facebook. Ka Tupperware, bahlahisi ba ka hlakisa sepheo sa bona sa hore na lijana li lokela ho ajoa joang litsing tsa data. Ka ShardManager, bahlahisi ba hlakisa sepheo sa bona sa hore na li-shards tsa data li lokela ho ajoa joang ka har'a lijana. ShardManager e tseba ka ho beoa ha data le ho pheta-pheta lits'ebetso tsa eona mme e buisana le Tupperware ka sebopeho sa TaskControl ho hlophisa ts'ebetso ea setshelo ntle le ho kenya letsoho ka kotloloho ts'ebetsong. Khokahano ena e nolofatsa taolo ea lits'ebeletso tsa maemo, empa TaskControl e khona ho feta. Mohlala, sebaka sa rona sa marang-rang se pharalletseng ha se na maemo 'me se sebelisa TaskControl ho fetola sekhahla sa lintlafatso ho lijana. Qetellong sebaka sa marang-rang se khona ho phethela litokollo tse ngata tsa software kapele ka letsatsi ntle le ho sekisetsa ho fumaneha.

Ho laola li-server litsing tsa data

Ha Tupperware e qala ho qala ka 2011, sehlopha ka seng sa seva se ne se laoloa ke kemiso e arohaneng. Ka nako eo, sehlopha sa Facebook e ne e le sehlopha sa li-racks tsa seva se kopantsoeng le sesebelisoa se le seng sa marang-rang, 'me setsi sa data se ne se e-na le lihlopha tse' maloa. Sehlophisi se ne se khona ho laola li-server feela sehlopheng se le seng, ho bolelang hore mosebetsi ha o khone ho hasana ka har'a lihlopha tse ngata. Meaho ea rona ea meaho e ile ea hola, ra tsoela pele ho hlakola lihlopha. Kaha Tupperware e ne e sitoa ho tlosa mosebetsi ho tloha sehlopheng se khaotsoeng ho ea ho lihlopha tse ling ntle le liphetoho, ho ne ho hloka boiteko bo matla le tšebelisano e hlokolosi pakeng tsa baetsi ba likopo le basebetsi ba setsi sa data. Ts'ebetso ena e ile ea fella ka lisebelisoa tse senyehileng ha li-server li ne li sa sebetse ka likhoeli tse ngata ka lebaka la mekhoa ea ho tlosa.

Re thehile morekisi oa lisebelisoa ho rarolla bothata ba ho felisa sehlopha le ho hokahanya mefuta e meng ea mesebetsi ea tlhokomelo. Morekisi oa lisebelisoa o boloka lintlha tsohle tsa 'mele tse amanang le seva mme o etsa qeto ka matla hore na ke mohlophisi ofe ea laolang seva ka seng. Ho hokahanya li-server ho bahlophisi ka matla ho lumella mohlophisi ho laola li-server litsing tse fapaneng tsa data. Kaha mosebetsi oa Tupperware ha o sa lekanyetsoa sehlopheng se le seng, basebelisi ba Tupperware ba ka hlakisa hore na lijana li lokela ho ajoa joang libakeng tse nang le liphoso. Ka mohlala, moqapi a ka bolela sepheo sa hae (e re: "mathisa mosebetsi oa ka libakeng tse 2 tsa phoso sebakeng sa PRN") ntle le ho bolela libaka tse khethehileng tsa ho fumaneha. Tupperware ka boeona e tla fumana li-server tse loketseng ho kenya tšebetsong morero ona, leha sehlopha kapa tšebeletso e felisitsoe.

Scalable ho tšehetsa tsamaiso eohle ea lefatše

Ho tloha khale, lisebelisoa tsa rona li arotsoe ka li-server tse makholo tse inehetseng bakeng sa lihlopha ka bomong. Ka lebaka la ho arohana le ho haella ha litekanyetso, re ne re e-na le litšenyehelo tse phahameng tsa ts'ebetso, 'me li-server tse sa sebetseng li ne li le thata ho li sebelisa hape. Kopanong ea ngoahola Sistimi @Scale re hlahisitse litšebeletso tsa motheo e le tšebeletso (IaaS), e lokelang ho kopanya lisebelisoa tsa rona hore e be sebaka se seholo sa seva se le seng. Empa serapa sa boikhathollo se le seng se na le mathata a sona. E tlameha ho fihlela litlhoko tse itseng:

  • Scalability. Metheo ea rona e ile ea hola ha re ntse re eketsa litsi tsa data sebakeng se seng le se seng. Li-server li se li le nyane ebile li sebetsa hantle haholo, kahoo ho na le tse ling tse ngata sebakeng ka seng. Ka lebaka leo, mohlophisi a le mong sebakeng ka seng ha a khone ho sebetsana le palo ea lijana tse ka tsamaisoang ho makholo a likete tsa li-server sebakeng ka seng.
  • Ho tšepahala Leha mohlophisi a ka eketsoa hakana, boholo bo boholo ba mohlophisi bo bolela hore ho na le kotsi e kholo ea liphoso mme sebaka sohle sa lijana se ka se laolehe.
  • Ho mamella liphoso. Ha ho e-na le ho hlōleha ho hoholo ha mekhoa ea motheo (mohlala, li-server tse tsamaisang kemiso li hlōleha ka lebaka la ho hlōleha ha marang-rang kapa ho tima matla), liphello tse mpe li lokela ho ama karolo feela ea lisebelisoa sebakeng seo.
  • Bonolo ba tšebeliso. Ho ka bonahala eka o hloka ho tsamaisa litlhophiso tse 'maloa tse ikemetseng sebakeng se le seng. Empa ho latela pono e bonolo, ntlha e le 'ngoe ea ho kena ka har'a letamo le arolelanoang la sebaka se etsa hore ho be bonolo ho laola bokhoni le mesebetsi.

Re arola kemiso ka li-shards ho rarolla mathata a ho boloka letamo le leholo le arolelanoang. Sethala se seng le se seng se laola mesebetsi ea sona sebakeng seo, 'me sena se fokotsa kotsi e amanang le mohlophisi. Ha letamo le arolelanoang le ntse le hola, re ka eketsa li-shards tse ling tsa scheduler. Bakeng sa basebelisi ba Tupperware, li-shards le li-proxies tsa kemiso li shebahala joalo ka phanele e le 'ngoe ea taolo. Ha ho hlokahale hore ba sebetse le sehlopha sa lishaka tse hlophisang mesebetsi. Li-scheduler shards li fapane haholo le lihlopha tsa lihlopha tseo re li sebelisitseng pele, ha karolo ea taolo e ne e aroloa ntle le ho arola ka mokhoa o tsitsitseng letamo le arolelanoang la li-server ho latela topology ea marang-rang.

Ntlafatsa Bokhoni ba Tšebeliso ka Elastic Computing

Ha litšebeletso tsa rona tsa motheo li le kholoanyane, ho bohlokoa le ho feta ho sebelisa li-server tsa rona ka katleho ho ntlafatsa litšenyehelo tsa litšebeletso tsa motheo le ho fokotsa mojaro. Ho na le mekhoa e 'meli ea ho eketsa katleho ea ts'ebeliso ea seva:

  • Khomphutha e hlabollang - fokotsa lits'ebeletso tsa Marang-rang nakong ea lihora tse khutsitseng 'me u sebelise li-server tse lokolotsoeng bakeng sa mesebetsi e mengata ntle le marang-rang, joalo ka ho ithuta ka mochini le mesebetsi ea MapReduce.
  • Ho tlōlisa - Beha lits'ebeletso tsa marang-rang le mesebetsi e mengata ho li-server tse tšoanang e le hore mesebetsi e mengata e tsamaee ka pele.

The bottleneck litsing tsa rona tsa data ke Tšebeliso ea matla. Ka hona, re khetha li-server tse nyane, tse baballang matla tseo hammoho li fanang ka matla a mangata a ho sebetsa. Ka bomalimabe, ho li-server tse nyane tse nang le CPU e nyane le memori, ho jara ho feta tekano ha ho sebetse hantle. Ha e le hantle, re ka beha lijana tse 'maloa tsa litšebeletso tse nyenyane ho seva se le seng se senyenyane se sebelisang matla se jang lisebelisoa tse nyenyane tsa processor le mohopolo, empa litšebeletso tse kholo li tla ba le ts'ebetso e tlaase boemong bona. Ka hona, re eletsa baetsi ba lits'ebeletso tsa rona tse kholo ho li ntlafatsa e le hore ba sebelise li-server kaofela.


Ha e le hantle, re ntlafatsa ts'ebeliso ea rona ka ho sebelisa komporo ea elastic. Bongata ba lits'ebeletso tsa rona tse kholo, joalo ka News Feed, Karolo ea Melaetsa, le maemo a pele a marang-rang, li fapana ho latela nako ea letsatsi. Re fokotsa litšebeletso tsa Marang-rang ka boomo nakong eo ho khutsitseng 'me re sebelisa li-server tsa mahala bakeng sa mesebetsi e mengata ntle le inthanete, joalo ka ho ithuta ka mochini le mesebetsi ea MapReduce.

Tupperware: 'molai oa Facebook oa Kubernetes?

Re tseba ho tsoa phihlelong hore ho molemo ho fana ka li-server kaofela e le likarolo tsa matla a ho sisinyeha hobane lits'ebeletso tse kholo ke bafani ba ka sehloohong le bareki ba ka sehloohong ba matla, 'me ba lokiselitsoe ho sebelisa li-server kaofela. Ha seva se lokolloa tšebeletsong ea inthanete nakong ea lihora tse khutsitseng, morekisi oa lisebelisoa o hirisetsa seva ho mohlophisi ho tsamaisa mesebetsi e sa sebetseng ho eona. Haeba ts'ebeletso ea marang-rang e na le boima bo phahameng, morekisi oa lisebelisoa o hopola kapele seva e alimiloeng mme, hammoho le mohlophisi, o e khutlisetsa ts'ebeletso ea inthanete.

Lithuto tse ithutoang le merero ea bokamoso

Lilemong tse 8 tse fetileng, esale re nts'etsapele Tupperware ho tsamaisana le kholo e potlakileng ea Facebook. Re arolelana seo re ithutileng sona 'me re tšepa hore se tla thusa ba bang ho laola mekhoa ea motheo e hōlang ka potlako:

  • Beha khokahano e feto-fetohang lipakeng tsa phanele ea taolo le li-server tseo e li laolang. Ho feto-fetoha ha maemo ho lumella karolo ea taolo ho laola li-server litsing tse fapaneng tsa data, e thusa ho ikemela le ho lokisoa ha lihlopha, 'me e nolofalletsa kabo ea matla e sebelisang komporo ea elastic.
  • Ka karolo e le 'ngoe ea taolo sebakeng seo, ho ba bonolo haholoanyane ho sebetsa ka mesebetsi le ho ba bonolo ho laola sehlopha se seholo sa seva se arolelanoang. Hlokomela hore sehlopha sa taolo se boloka ntlha e le 'ngoe ea ho kena, le haeba sebopeho sa eona sa ka hare se arohane ka mabaka a tekanyo kapa ho mamellana ha phoso.
  • U sebelisa mohlala oa plugin, karolo ea taolo e ka tsebisa lits'ebetso tsa kantle tsa ts'ebetso ea setshelo e tlang. Ho feta moo, lits'ebeletso tse phahameng li ka sebelisa sebopeho sa plugin ho etsa taolo ea setshelo. Ka mohlala ona oa plugin, phanele ea taolo e fana ka bonolo ha e ntse e sebeletsa ka katleho lits'ebeletso tse ngata tse fapaneng tse fapaneng.
  • Re lumela hore komporo ea elastic, moo re tlosang li-server kaofela lits'ebeletso tsa bafani bakeng sa mesebetsi ea lihlopha, ho ithuta ka mochini, le lits'ebeletso tse ling tse sa potlakang, ke mokhoa o nepahetseng oa ho ntlafatsa ts'ebetso ea li-server tse nyane, tse baballang matla.

Re qala ho kenya tshebetsong sehlopha se le seng sa lefats'e sa seva se arolelanoang. Hajoale hoo e ka bang 20% ​​ea li-server tsa rona li letamong le arolelanoang. Ho finyella 100%, litaba tse ngata li hloka ho rarolloa, ho kenyelletsa le ho boloka letamo la polokelo le arolelanoang, ho lokisoa ka mokhoa o ikemetseng, ho laola litlhoko tsa bahiri, ho ntlafatsa ts'ebeliso ea seva, le ho ntlafatsa tšehetso bakeng sa mosebetsi oa ho ithuta mochine. Ha re lebelletse ho tobana le liphephetso tsena le ho arolelana likatleho tsa rona.

Source: www.habr.com

Eketsa ka tlhaloso