Thug Facebook a-steach siostam riaghlaidh còd stòr Úr Sapling

Tha Facebook (toirmisgte san Ruis) air siostam riaghlaidh còd stòr Sapling fhoillseachadh a chaidh a chleachdadh ann an leasachadh phròiseactan taobh a-staigh na companaidh. Tha an siostam ag amas air eadar-aghaidh tionndaidh eòlach a thoirt seachad a dh’ fhaodas sgèile gu stòran fìor mhòr a ’spangachadh deichean de mhilleanan de fhaidhlichean, gheallaidhean agus gheugan. Tha an còd teachdaiche sgrìobhte ann am Python agus Rust, agus tha e fosgailte fo chead GPLv2.

Chaidh pàirt frithealaiche air leth a leasachadh airson obair èifeachdach iomallach le stòran-tasgaidh agus siostam faidhle brìgheil airson obrachadh le sliseag ionadail de stòr-tasgaidh mar gum biodh e na stòr-tasgaidh slàn (chì an leasaiche an stòr-tasgaidh gu lèir, ach chan eil ach an dàta a chaidh iarraidh air a chopaigeadh chun t-siostam ionadail). Chan eil còd nan co-phàirtean sin a thathas a’ cleachdadh ann am bun-structar Facebook fosgailte fhathast, ach tha a’ chompanaidh air gealltainn fhoillseachadh san àm ri teachd. Ach, gheibhear prototypes mu thràth ann an stòr-tasgaidh Sapling. frithealaiche Mononoke (sgrìobhte ann an Rust) agus VFS EdenFS (sgrìobhte ann an C++). Tha na co-phàirtean seo roghainneil, agus an neach-dèiligidh Sapling, a tha a’ toirt taic do chlònadh stòran-dàta Git agus eadar-obrachadh le frithealaichean stèidhichte air Git LFS agus ag obair le seirbheisean aoigheachd git leithid GitHub.

Is e prìomh bheachd an t-siostaim, nuair a bhios tu ag eadar-obrachadh le pàirt frithealaiche sònraichte a bheir seachad stòradh an stòrais, gu bheil a h-uile gnìomhachd air a sgèile a rèir an àireamh de fhaidhlichean a chaidh a chleachdadh sa chòd a tha an leasaiche ag obair air, agus nach eil an urra ris. meud iomlan an stòrais gu lèir. Mar eisimpleir, chan fhaod leasaiche ach cuibhreann bheag de chòd a chleachdadh bho stòr glè mhòr, agus cha tèid ach a’ chuibhreann bheag seo, seach an stòr gu lèir, a ghluasad chun t-siostam aige. Tha an eòlaire obrach air a lìonadh gu dinamach, leis gu bheilear a’ faighinn cothrom air faidhlichean bhon stòr, a leigeas leat, air an aon làimh, obair a dhèanamh nas luaithe leis a’ phàirt agad den chòd, ach air an làimh eile, a’ leantainn gu slaodachadh nuair a ruigeas tu an toiseach. faidhlichean ùra agus feumach air ruigsinneachd cunbhalach air an lìonra (air a sholarachadh air leth agus modh ullachaidh gealltanasan far-loidhne).

A bharrachd air luchdachadh dàta atharrachail, bidh Sapling cuideachd a’ cur an gnìomh leasachaidhean a tha ag amas air luchdachadh fiosrachaidh le eachdraidh atharrachaidh a lughdachadh (mar eisimpleir, 3/4 den dàta anns an stòr-dàta leis a’ chridhe Linux (Tha seo a’ toirt iomradh air eachdraidh an atharrachaidh). Gus obrachadh gu h-èifeachdach leis an eachdraidh atharrachaidh, tha an dàta co-cheangailte air a stòradh ann an riochdachadh roinnte, a’ leigeil le pàirtean fa leth den ghraf gealltanas a bhith air an luchdachadh sìos bhon fhrithealaiche. Faodaidh an neach-dèiligidh fiosrachadh iarraidh mun dàimh eadar grunn gheallaidhean bhon fhrithealaiche agus dìreach am pàirt a tha a dhìth den ghraf a luchdachadh sìos.

Chaidh am pròiseact a leasachadh thar nan 10 bliadhna a dh’ fhalbh agus chaidh a chruthachadh gus fuasgladh fhaighinn air duilgheadasan nuair a chuirear air dòigh ruigsinneachd gu stòran monolithic glè mhòr le aon phrìomh mheur, anns an deach cleachdadh gnìomhachd “rebase” a chleachdadh an àite “aonadh”. Aig an àm sin, cha robh fuasglaidhean fosgailte ann airson a bhith ag obair le leithid de stòran, agus cho-dhùin innleadairean Facebook siostam smachd dreach ùr a chruthachadh a choinnicheas ri feumalachdan na companaidh, an àite pròiseactan a roinn ann an stòran beaga, a bheireadh gu riaghladh eisimeileachd nas iom-fhillte. (aig aon àm, gus fuasgladh fhaighinn air duilgheadas coltach ris, chruthaich Microsoft còmhdach GVFS). An toiseach, chleachd Facebook an siostam Mercurial agus chaidh am pròiseact Sapling a leasachadh an toiseach mar chur-ris ri Mercurial. Thar ùine, dh’ atharraich an siostam gu bhith na phròiseact neo-eisimeileach leis a’ phròtacal aige fhèin, an cruth stòraidh agus na h-algorithms, a chaidh a leudachadh cuideachd leis a’ chomas eadar-obrachadh le tasgaidhean Git.

Airson obair, thathas a’ moladh goireas loidhne-àithne “sl”, a chuireas an gnìomh bun-bheachdan àbhaisteach, sruthan-obrach, agus eadar-aghaidh air a bheil luchd-leasachaidh eòlach air Git agus Mercurial. Tha am briathrachas agus na h-òrdughan ann an Sapling beagan eadar-dhealaichte bho Git agus nas fhaisge air Mercurial. Mar eisimpleir, thathas a’ cleachdadh “comharran leabhraichean” an àite gheugan (chan eil taic ri meuran ainmichte), gu bunaiteach, nuair a bhios tu a’ coileanadh clone / slaodadh, chan eil an stòr gu lèir air a luchdachadh, ach dìreach am prìomh mheur, chan eil ro-tagadh ann de gheallaidhean ( àite stèidse), an àite “git fetch” tha an àithne “sl” air a chleachdadh pull”, an àite “git pull” - “sl pull --rebase”, an àite “git checkout COMMIT” - “sl goto COMMIT”, an àite sin à "git reflog" - "sl journal", gus an t-atharrachadh a thilleadh an àite "git checkout - FILE" tha "sl revert FILE" air a shònrachadh, agus "." air a chleachdadh gus am meur "HEAD" aithneachadh. Ach san fharsaingeachd, tha na bun-bheachdan coitcheann mu mheuran agus obair clone / tarraing / putadh / gealltanas / ath-shuidheachadh air an gleidheadh.

Am measg nam feartan a bharrachd den inneal Sapling, tha taic airson “log smart” (smartlog) a’ seasamh a-mach, a leigeas leat measadh lèirsinneach a dhèanamh air staid an stòrais agad, cuideam a chuir air an fhiosrachadh as cudromaiche agus mion-fhiosrachadh a shìoladh a-mach. Mar eisimpleir, nuair a ruitheas tu an sl utility gun argamaidean, chan eil ach na h-atharrachaidhean ionadail agad fhèin air an taisbeanadh (tha feadhainn cèin air an tuiteam), tha inbhe meuran taobh a-muigh, faidhlichean atharraichte, agus dreachan ùra de ghealltanas air an sealltainn. A bharrachd air an sin, tha eadar-aghaidh lìn eadar-ghnìomhach air a thabhann, a leigeas leat seòladh gu sgiobalta tron ​​​​log smart, craobh atharrachadh agus geallaidhean.

Thug Facebook a-steach siostam riaghlaidh còd stòr Úr Sapling

Is e leasachadh sònraichte eile ann an Sapling a bhith a’ sìmpleachadh a’ phròiseas airson a bhith a’ ceartachadh agus a’ parsadh mhearachdan, agus a’ tilleadh gu staid roimhe. Mar eisimpleir, thathas a’ tabhann na h-òrdughan “sl undo”, “sl redo”, “sl uncommit” agus “sl unamend” gus mòran obrachaidhean a thoirt air ais, òrdughan “sl hide” agus “sl unhide” gus geallaidhean fhalach airson ùine, agus seòladh eadar-ghnìomhach tro seann stàitean agus till air ais chun phuing ainmichte an àithne “sl undo -i command”. Bidh sapling cuideachd a’ toirt taic don bhun-bheachd de chruach gealltanas, a leigeas leat lèirmheas ceum air cheum a chuir air dòigh le bhith a’ briseadh sìos gnìomhachd iom-fhillte gu seata de dh’ atharrachaidhean mean air mhean nas lugha agus nas so-thuigsinn (bho fhrèam bunaiteach gu feart crìochnaichte).

Chaidh grunn thuilleadan ullachadh airson Sapling, a’ gabhail a-steach an eadar-aghaidh ReviewStack airson ath-sgrùdadh a dhèanamh air atharrachaidhean (còd fo GPLv2), a leigeas leat iarrtasan tarraing air GitHub a phròiseasadh agus sealladh stac de dh’ atharrachaidhean a chleachdadh. A bharrachd air an sin, chaidh cur-ris fhoillseachadh airson amalachadh le luchd-deasachaidh VSCode agus TextMate, a bharrachd air buileachadh eadar-aghaidh agus frithealaiche ISL (Interactive SmartLog).

Source: fosgailtenet.ru

Ceannaich aoigheachd earbsach airson làraich le dìon DDoS, frithealaichean VPS VDS 🔥 Ceannaich aoigheachd làrach-lìn earbsach le dìon DDoS, frithealaichean VPS VDS | ProHoster