Facebook ayaa daabacday nidaamka dhismaha ee Buck2

Facebook waxa ay soo bandhigtay hab dhismeed cusub, Buck2, kaas oo looga dan leeyahay in lagu abaabulo dhisidda mashaariicda meelo aad u waaweyn, oo ay ku jiraan code-yada luuqadaha barnaamijyada kala duwan. Farqiga ugu muhiimsan ee u dhexeeya hirgelinta cusub iyo nidaamka Buck ee hore loogu isticmaalay Facebook ayaa ah isticmaalka luqadda Rust halkii Java iyo korodhka weyn ee hufnaanta iyo wax soo saarka geeddi-socodka shirka (tijaabooyin gudaha ah oo isku mid ah kaabayaasha, Buck2 waxay qabataa kulan. hawlo laba jeer ka dhaqso badan Buck). Koodhka waxaa lagu qaybiyaa shatiga Apache 2.0.

Nidaamku kuma xidhna golaha koodhka ee luuqado gaar ah oo ka baxsan sanduuqa wuxuu taageeraa shirka mashaariicda ku qoran luqadaha C++, Python, Rust, Kotlin, Erlang, Swift, Objective-C, Haskell iyo Ocaml , oo ay adeegsato Facebook. Luqadda Starlark, oo ku salaysan Python (sida Bazel), ayaa loo isticmaalaa in lagu naqshadeeyo add-ons, dhisidda qoraallada iyo xeerarka. Starlark wuxuu kuu ogolaanayaa inaad ballaariso awoodaha nidaamka isu-ururinta iyo ka-soo-baxa luuqadaha gaarka ah ee loo isticmaalo mashaariicda la soo ururiyey.

Waxqabadka sare waxaa lagu gaaraa kaydinta natiijooyinka, isbarbardhigga shaqada iyo taageerada fulinta fog ee hawlaha (Dhismaha fog fog). Deegaanka golaha, fikradda "hermeticity" ayaa loo isticmaalaa - koodhka la soo ururiyey ayaa laga gooyay dibadda, waxba kama soo baxaan dibadda inta lagu jiro habka shirarka, iyo fulinta soo noqnoqda ee shaqada ee nidaamyada kala duwan waxay keenaan natiijo isku mid ah ( shirarka soo noqnoqda, tusaale ahaan, natiijada ururinta mashruuca mashiinka horumariyaha waxay si buuxda ula mid noqon doontaa dhismaha server-ka isdhexgalka joogtada ah). Xaaladda ku-tiirsanaan la'aanta waxaa loo arkaa inay tahay qalad Buck2.

Tilmaamaha muhiimka ah ee Buck2:

  • Xeerarka lagu taageerayo luuqadaha barnaamijyada iyo xudunta u ah nidaamka isu-ururinta ayaa gebi ahaanba kala duwan. Xeerarku waxay isticmaalaan luqadda Starlark, iyo qalabka Starlark iyo hirgelinta waxay ku qoran yihiin Rust.
  • Nidaamka isu-ururinta wuxuu adeegsadaa garaafka ku-tiirsanaanta hal-abuurka ah (iyada oo aan loo qaybin heerar), kaas oo u oggolaanaya kordhinta qoto dheer ee isbarbardhigga shaqada marka la barbar dhigo Buck iyo Bazel iyo ka fogaanshaha noocyo badan oo khaladaad ah.
  • Koodhka Buck2 ee lagu daabacay GitHub iyo xeerarka lagu taageerayo luuqadaha barnaamijyada waxay ku dhow yihiin inay la mid yihiin nooca gudaha ee loo adeegsado kaabayaasha Facebook (farqiga kaliya ayaa la xiriira daabacaadaha isku-dubaridyada iyo server-yada loo adeegsado Facebook).
  • Nidaamka isu-ururinta waxaa loo qaabeeyey iyadoo isha lagu hayo is-dhexgalka nidaamyada fulinta hawsha fog ee kuu oggolaanaya inaad ku shaqeyso server-yada fog. Execution API wuxuu la jaan qaadayaa Bazel waxaana lagu tijaabiyay la jaanqaadka Buildbarn iyo EngFlow.
  • Isku dhafka nidaamyada faylalka farsamada ayaa la bixiyaa, kaas oo ka kooban dhammaan kaydka oo dhan ayaa la soo bandhigay, laakiin dhab ahaantii, shaqada waxaa lagu fuliyaa qayb ka mid ah qayb ka mid ah qaybta kaydka ee hadda (horumariyuhu wuxuu arkayaa kaydka oo dhan, laakiin kaliya faylasha loo baahan yahay). kuwa la galo ayaa laga soo saaraa kaydka). VFS oo ku salaysan EdenFS iyo Git LFS, kuwaas oo lagu isticmaalo Sapling, waa la taageeraa.

Source: opennet.ru

Add a comment