Dh'fhoillsich Facebook siostam togail Buck2

Thug Facebook a-steach siostam togail ùr, Buck2, a bha ag amas air togail phròiseactan bho stòran glè mhòr a chuir air dòigh, a’ toirt a-steach còd ann an diofar chànanan prògramaidh. Is e na prìomh eadar-dhealachaidhean eadar buileachadh ùr agus siostam Buck a chaidh a chleachdadh roimhe aig Facebook cleachdadh a’ chànan Rust an àite Java agus àrdachadh mòr ann an èifeachdas agus cinneasachd a’ phròiseas cruinneachaidh (ann an deuchainnean a-staigh san aon bhun-structair, bidh Buck2 a’ coileanadh co-chruinneachadh). gnìomhan dà uair cho luath ri Buck). Tha an còd air a sgaoileadh fo chead Apache 2.0.

Chan eil an siostam ceangailte ri co-chruinneachadh còd ann an cànanan sònraichte agus a-mach às a 'bhogsa a' toirt taic do cho-chruinneachadh phròiseactan a chaidh a sgrìobhadh anns na cànanan C ++, Python, Rust, Kotlin, Erlang, Swift, Amas-C, Haskell agus OCaml , air a chleachdadh le Facebook. Tha an cànan Starlark, stèidhichte air Python (mar ann am Bazel), air a chleachdadh gus tuilleadan a dhealbhadh, sgriobtaichean agus riaghailtean a thogail. Leigidh Starlark leat comasan an t-siostam cruinneachaidh a leudachadh agus geàrr-chunntas bho na cànanan sònraichte a thathas a’ cleachdadh anns na pròiseactan cruinnichte.

Tha àrd-choileanadh air a choileanadh tro bhith a’ tasgadh thoraidhean, a’ co-thaobhadh obrach agus a’ toirt taic do choileanadh ghnìomhan aig astar (Comann Togail Iomallach). Anns an àrainneachd cruinneachaidh, thathas a ’cleachdadh bun-bheachd“ hermeticity ”- tha an còd cruinn air a ghearradh dheth bhon t-saoghal a-muigh, chan eil dad air a luchdachadh bhon taobh a-muigh tron ​​​​phròiseas cruinneachaidh, agus bidh coileanadh grunn thursan air diofar shiostaman a’ leantainn gu an aon toradh ( co-chruinneachaidhean a-rithist, mar eisimpleir, bidh toradh pròiseact a chuir ri chèile air inneal an leasaiche gu tur co-ionann ris an togail air an t-seirbheisiche amalachaidh leantainneach). Tha suidheachadh dìth eisimeileachd air fhaicinn mar mhearachd ann am Buck2.

Prìomh fheartan Buck2:

  • Tha na riaghailtean airson taic a thoirt do chànanan prògramaidh agus cridhe an t-siostam cruinneachaidh gu tur eadar-dhealaichte. Bidh na riaghailtean a 'cleachdadh cànan Starlark, agus tha an inneal Starlark agus an cur an gnìomh sgrìobhte ann an Rust.
  • Bidh an siostam co-chruinneachaidh a 'cleachdadh aon ghraf eisimeileachd mean air mhean (gun a bhith air a roinn ann an ìrean), a leigeas le bhith a' meudachadh doimhneachd co-shìnteadh na h-obrach an coimeas ri Buck agus Bazel agus a 'seachnadh iomadh seòrsa de mhearachdan.
  • Tha còd Buck2 a chaidh fhoillseachadh air GitHub agus na riaghailtean airson taic a thoirt do chànanan prògramaidh cha mhòr co-ionann ris an dreach a-staigh a thathas a’ cleachdadh ann am bun-structar Facebook (tha na h-aon eadar-dhealachaidhean ann an co-cheangal ris na deasachaidhean de luchd-cruinneachaidh agus frithealaichean cruinneachaidh a thathas a ’cleachdadh ann am Facebook).
  • Tha an siostam cruinneachaidh air a dhealbhadh le sùil ri amalachadh le siostaman coileanadh gnìomh iomallach a leigeas leat obair a ruith air frithealaichean iomallach. Tha an API coileanadh iomallach co-chòrdail ri Bazel agus air a dhearbhadh airson co-chòrdalachd le Buildbarn agus EngFlow.
  • Tha amalachadh le siostaman faidhle brìgheil air a thoirt seachad, anns a bheil susbaint an stòr gu lèir air a thaisbeanadh, ach gu dearbh, thathas a ’dèanamh obair le sliseag ionadail gnàthach de phàirt den stòr (bidh an leasaiche a’ faicinn an stòr gu lèir, ach dìreach na faidhlichean a tha a dhìth a gheibhear a-steach air an toirt a-mach às an stòr). Tha VFS stèidhichte air EdenFS agus Git LFS, a thathas a’ cleachdadh ann an Sapling, a’ faighinn taic.

Source: fosgailtenet.ru

Cuir beachd ann