Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Halò, a dhaoine! Is e m ’ainm Oleg Anastasyev, tha mi ag obair aig Odnoklassniki ann an sgioba Àrd-ùrlar. Agus a bharrachd orm, tha tòrr bathar-cruaidh ag obair ann an Odnoklassniki. Tha ceithir ionadan dàta againn le timcheall air 500 racaichean le còrr air 8 mìle frithealaiche. Aig àm sònraichte, thuig sinn gun leigeadh a-steach siostam riaghlaidh ùr leinn uidheamachd a luchdachadh nas èifeachdaiche, stiùireadh ruigsinneachd a dhèanamh nas fhasa, fèin-ghluasad (ath) sgaoileadh ghoireasan coimpiutaireachd, luathachadh foillseachadh sheirbheisean ùra, agus luathachadh fhreagairtean. gu tubaistean mòra.

Dè thàinig dheth?

A bharrachd air mi fhìn agus dòrlach de bhathar-cruaidh, tha daoine ann cuideachd a bhios ag obair leis a’ bhathar-cruaidh seo: innleadairean a tha suidhichte gu dìreach ann an ionadan dàta; luchd-lìonraidh a stèidhich bathar-bog lìonra; luchd-rianachd, no SREn, a bheir seachad seasmhachd bun-structair; agus sgiobaidhean leasachaidh, tha uallach air gach fear dhiubh airson pàirt de dhleastanasan na portal. Bidh am bathar-bog a chruthaicheas iad ag obair rudeigin mar seo:

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Gheibhear iarrtasan luchd-cleachdaidh an dà chuid air beulaibh a’ phrìomh portal www.ok.ru, agus air feadhainn eile, mar eisimpleir air aghaidhean API ciùil. Gus loidsig a ’ghnìomhachais a phròiseasadh, bidh iad a’ gairm frithealaiche an tagraidh, a bhios, nuair a bhios iad a ’giullachd an iarrtais, a’ gairm na meanbh-sheirbheisean sònraichte riatanach - aon-ghraf (graf de cheanglaichean sòisealta), tasgadan neach-cleachdaidh (tasg de phròifil luchd-cleachdaidh), msaa.

Tha gach aon de na seirbheisean sin air a chleachdadh air iomadh inneal, agus tha luchd-leasachaidh cunntachail aig gach fear dhiubh le uallach airson obrachadh nam modalan, an obrachadh agus leasachadh teicneòlach. Bidh na seirbheisean sin uile a’ ruith air frithealaichean bathar-cruaidh, agus gu o chionn ghoirid chuir sinn air bhog dìreach aon ghnìomh airson gach frithealaiche, ie bha e sònraichte airson gnìomh sònraichte.

Carson a tha sin? Bha grunn bhuannachdan aig an dòigh-obrach seo:

  • Faochadh riaghladh tomad. Canaidh sinn gu bheil gnìomh ag iarraidh cuid de leabharlannan, cuid de shuidheachaidhean. Agus an uairsin tha am frithealaiche air a shònrachadh gu dìreach aon bhuidheann sònraichte, tha am poileasaidh cfengine airson a’ chuantail seo air a mhìneachadh (no chaidh a mhìneachadh mu thràth), agus tha an rèiteachadh seo air a sgaoileadh sa mheadhan agus gu fèin-ghluasadach chun a h-uile frithealaiche sa bhuidheann seo.
  • Sìmplidh diagnosachd. Canaidh sinn gun toir thu sùil air an luchd àrdaichte air a’ phròiseasar meadhanach agus tuigidh tu nach gabhadh an luchd seo a chruthachadh ach leis a’ ghnìomh a tha a’ ruith air a’ phròiseasar bathar-cruaidh seo. Thig an rannsachadh airson cuideigin as coireach gu crìch gu math luath.
  • Sìmplidh cumail sùil. Ma tha rudeigin ceàrr air an fhrithealaiche, bidh an neach-sgrùdaidh ag aithris air, agus tha fios agad gu cinnteach cò as coireach.

Tha seirbheis anns a bheil grunn mhac-samhail air a riarachadh grunn luchd-frithealaidh - aon airson gach fear. An uairsin tha an goireas coimpiutaireachd airson na seirbheis air a riarachadh gu sìmplidh: an àireamh de luchd-frithealaidh a tha aig an t-seirbheis, an ìre as motha de ghoireasan as urrainn dha ithe. Chan eil “furasta” an seo a’ ciallachadh gu bheil e furasta a chleachdadh, ach anns an t-seadh gu bheil riarachadh ghoireasan air a dhèanamh le làimh.

Thug an dòigh-obrach seo cothrom dhuinn a dhèanamh cuideachd rèiteachaidhean iarainn sònraichte airson obair a tha a' ruith air an fhrithealaiche seo. Ma tha an gnìomh a’ stòradh tòrr dàta, bidh sinn a’ cleachdadh frithealaiche 4U le chassis le 38 diosc. Ma tha an obair dìreach coimpiutaireachd, is urrainn dhuinn frithealaiche 1U nas saoire a cheannach. Tha seo èifeachdach a thaobh coimpiutaireachd. Am measg rudan eile, tha an dòigh-obrach seo a 'toirt cothrom dhuinn ceithir uiread nas lugha de dh' innealan a chleachdadh le luchd a tha coltach ri aon lìonra sòisealta càirdeil.

Bu chòir an leithid de èifeachdas ann an cleachdadh ghoireasan coimpiutaireachd dèanamh cinnteach à èifeachdas eaconamach, ma thèid sinn air adhart bhon bhun-bheachd gur e frithealaichean an rud as daoire. Airson ùine mhòr, b’ e bathar-cruaidh an rud a bu daoire, agus rinn sinn tòrr oidhirp gus prìs bathar-cruaidh a lughdachadh, a’ tighinn suas le algorithms fulangas locht gus riatanasan earbsachd bathar-cruaidh a lughdachadh. Agus an-diugh tha sinn air an ìre a ruighinn far a bheil prìs an fhrithealaiche air sgur a bhith cinnteach. Mura beachdaich thu air na exotics as ùire, chan eil e gu diofar dè an rèiteachadh sònraichte de na frithealaichean sa raca. A-nis tha duilgheadas eile againn - prìs an àite a tha an fhrithealaiche a 'fuireach anns an ionad dàta, is e sin, an àite anns a' chrann.

A 'tuigsinn gur e seo a' chùis, chuir sinn romhainn obrachadh a-mach dè cho èifeachdach 'sa bha sinn a' cleachdadh nan racaichean.
Thug sinn prìs an t-seirbheisiche as cumhachdaiche bhon fheadhainn a bha reusanta gu h-eaconamach, obraich a-mach cia mheud seirbheisiche a b’ urrainn dhuinn a chuir ann an racaichean, cia mheud gnìomh a bhiodh sinn a ’ruith orra stèidhichte air an t-seann mhodail“ aon fhrithealaiche = aon ghnìomh ”agus dè an ìre dh’ fhaodadh gnìomhan an uidheamachd a chleachdadh. Bha iad a’ cunntadh agus a’ rùsgadh deòir. Thionndaidh e a-mach gu bheil ar èifeachdas ann a bhith a ’cleachdadh racaichean timcheall air 11%. Tha an co-dhùnadh follaiseach: feumaidh sinn èifeachdas cleachdadh ionadan dàta àrdachadh. Bhiodh e coltach gu bheil am fuasgladh follaiseach: feumaidh tu grunn ghnìomhan a ruith air aon fhrithealaiche aig an aon àm. Ach seo far a bheil na duilgheadasan a 'tòiseachadh.

Bidh rèiteachadh mòr a’ fàs tòrr nas iom-fhillte - tha e a-nis do-dhèanta aon bhuidheann a shònrachadh do fhrithealaiche. Às deidh na h-uile, a-nis faodar grunn ghnìomhan de dhiofar òrdughan a chuir air bhog air aon fhrithealaiche. A bharrachd air an sin, faodaidh an rèiteachadh a bhith connspaideach airson diofar thagraidhean. Bidh Diagnosis cuideachd a’ fàs nas toinnte: ma chì thu barrachd caitheamh CPU no diosc air frithealaiche, chan eil fios agad dè an obair a tha ag adhbhrachadh trioblaid.

Ach is e am prìomh rud nach eil dealachadh eadar gnìomhan a tha a 'ruith air an aon inneal. An seo, mar eisimpleir, tha graf den ùine freagairt cuibheasach de ghnìomh frithealaiche ro agus às deidh tagradh àireamhach eile a chuir air bhog air an aon fhrithealaiche, ann an dòigh sam bith co-cheangailte ris a’ chiad fhear - tha ùine freagairt na prìomh ghnìomh air a dhol suas gu mòr.

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Gu dearbh, feumaidh tu gnìomhan a ruith an dàrna cuid ann an soithichean no ann an innealan brìgheil. Leis gu bheil cha mhòr a h-uile gnìomh againn a’ ruith fo aon OS (Linux) no air an atharrachadh air a shon, chan fheum sinn taic a thoirt do dh’ iomadh siostam obrachaidh eadar-dhealaichte. A rèir sin, chan eil feum air virtualization; mar thoradh air an àrdachadh a bharrachd, cha bhith e cho èifeachdach ri container.

Mar chur an gnìomh soithichean airson gnìomhan a ruith gu dìreach air frithealaichean, tha Docker na thagraiche math: bidh ìomhaighean siostam faidhle a’ fuasgladh dhuilgheadasan le rèiteachaidhean connspaideach gu math. Leis gum faod ìomhaighean a bhith air an dèanamh suas de ghrunn shreathan leigidh sin leinn an ìre de dhàta a tha a dhìth gus an cleachdadh air a’ bhun-structar a lughdachadh gu mòr, a’ sgaradh phàirtean cumanta gu sreathan bunaiteach fa leth. An uairsin bidh na sreathan bunaiteach (agus as toirteach) air an tasgadh gu math luath air feadh a’ bhun-structair gu lèir, agus gus iomadh seòrsa tagradh agus dreach a lìbhrigeadh, cha bhith feum ach air sreathan beaga a ghluasad.

A bharrachd air an sin, tha clàr deiseil agus tagadh ìomhaighean ann an Docker a’ toirt dhuinn prìomhairean deiseil airson dreach agus lìbhrigeadh còd gu cinneasachadh.

Tha Docker, mar theicneòlas sam bith eile den aon seòrsa, a’ toirt dhuinn ìre de dh’ aonaranachd container a-mach às a’ bhogsa. Mar eisimpleir, iomallachd cuimhne - tha cuingealachadh aig gach inneal air cleachdadh cuimhne inneal, agus às deidh sin cha bhith e ag ithe. Faodaidh tu cuideachd soithichean a sgaradh a rèir cleachdadh CPU. Dhuinne, ge-tà, cha robh insulation àbhaisteach gu leòr. Ach barrachd air sin gu h-ìosal.

Chan eil ann a bhith a’ ruith shoithichean gu dìreach air frithealaichean ach pàirt den duilgheadas. Tha am pàirt eile co-cheangailte ri bhith a’ cumail shoithichean air frithealaichean. Feumaidh tu tuigsinn dè an soitheach a ghabhas a chuir air an fhrithealaiche. Chan e obair cho furasta a tha seo, oir feumar soithichean a chuir air frithealaichean cho dùmhail sa ghabhas gun a bhith a’ lughdachadh an astar. Faodaidh suidheachadh mar seo a bhith duilich cuideachd bho shealladh fulangas locht. Gu math tric bidh sinn airson mac-samhail den aon sheirbheis a chuir ann an diofar racaichean no eadhon ann an seòmraichean eadar-dhealaichte den ionad dàta, gus nach caill sinn a h-uile mac-samhail seirbheis sa bhad ma dh’ fhailicheas raca no seòmar.

Chan eil cuairteachadh shoithichean le làimh na roghainn nuair a tha 8 mìle frithealaiche agus 8-16 mìle inneal agad.

A bharrachd air an sin, bha sinn airson barrachd neo-eisimeileachd a thoirt do luchd-leasachaidh ann an riarachadh ghoireasan gus am b’ urrainn dhaibh na seirbheisean aca a chumail ann an cinneasachadh iad fhèin, gun chuideachadh bho rianadair. Aig an aon àm, bha sinn airson smachd a chumail gus nach biodh cuid de mhion-sheirbheisean ag ithe goireasan nan ionadan dàta againn.

Gu follaiseach, feumaidh sinn ìre smachd a dhèanadh seo gu fèin-ghluasadach.

Mar sin thàinig sinn gu dealbh sìmplidh agus so-thuigsinn a tha meas aig a h-uile ailtire: trì ceàrnagan.

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

tha maighstirean aon-sgòth na bhuidheann fàilligeadh le uallach airson orchestration sgòthan. Bidh an leasaiche a’ cur foillseachadh chun mhaighstir, anns a bheil a h-uile fiosrachadh a tha riatanach gus aoigheachd a thoirt don t-seirbheis. Stèidhichte air, tha am maighstir a 'toirt seachad òrdughan gu minions taghte (innealan air an dealbhadh gus soithichean a ruith). Tha an neach-ionaid againn aig na minions, a gheibh an àithne, a 'toirt seachad a h-òrdughan gu Docker, agus bidh Docker a' rèiteachadh an linux kernel gus an soitheach co-fhreagarrach a chuir air bhog. A bharrachd air òrdughan a chuir an gnìomh, bidh an neach-ionaid an-còmhnaidh ag aithris don mhaighstir mu atharrachaidhean ann an staid an inneal minion agus na soithichean a tha a’ ruith air.

Riarachadh ghoireasan

A-nis leig dhuinn sùil a thoirt air an duilgheadas a thaobh riarachadh stòrais nas iom-fhillte airson mòran de mhinistearan.

Is e goireas coimpiutaireachd ann an aon sgòth:

  • An ìre de chumhachd pròiseasar a thèid a chaitheamh le gnìomh sònraichte.
  • An uiread de chuimhne a tha ri fhaighinn airson na h-obrach.
  • Trafaig lìonra. Tha eadar-aghaidh lìonra sònraichte aig gach aon de na minions le leud-bann cuibhrichte, agus mar sin tha e do-dhèanta gnìomhan a sgaoileadh gun a bhith a ’toirt aire don ìre de dhàta a bhios iad a’ sgaoileadh thairis air an lìonra.
  • Diosg. A bharrachd air an sin, gu follaiseach, don àite airson na gnìomhan sin, bidh sinn cuideachd a’ riarachadh an seòrsa diosc: HDD no SSD. Faodaidh diosgan àireamh chrìochnaichte de dh'iarrtasan a fhrithealadh gach diog - IOPS. Mar sin, airson gnìomhan a ghineas barrachd IOPS na dh’ fhaodas aon diosc a làimhseachadh, bidh sinn cuideachd a’ riarachadh “fearsaid” - is e sin, innealan diosc a dh’ fheumar a ghleidheadh ​​​​a-mhàin airson na h-obrach.

An uairsin airson cuid de sheirbheis, mar eisimpleir airson tasgadan neach-cleachdaidh, is urrainn dhuinn na goireasan caitheamh a chlàradh san dòigh seo: 400 cores pròiseasar, 2,5 TB de chuimhne, trafaic 50 Gbit / s gach taobh, 6 TB de àite HDD suidhichte air 100 dealgan . No ann an cruth nas eòlaiche mar seo:

alloc:
    cpu: 400
    mem: 2500
    lan_in: 50g
    lan_out: 50g
    hdd:100x6T

Chan eil goireasan seirbheis tasgadan luchd-cleachdaidh ag ithe ach cuibhreann de na goireasan uile a tha rim faighinn sa bhun-structar cinneasachaidh. Mar sin, tha mi airson dèanamh cinnteach gu h-obann, mar thoradh air mearachd gnìomhaiche no nach eil, nach bi an tasgadan neach-cleachdaidh ag ithe barrachd ghoireasan na tha air a riarachadh dha. Is e sin, feumaidh sinn goireasan a chuingealachadh. Ach dè a b’ urrainn dhuinn an cuota a cheangal ris?

Tillidh sinn chun diagram againn a tha gu math nas sìmplidhe de eadar-obrachadh phàirtean agus ath-tharraing e le barrachd mion-fhiosrachaidh - mar seo:

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Dè a ghlacas do shùil:

  • Bidh an aghaidh lìn agus ceòl a’ cleachdadh cruinneachaidhean iomallach den aon fhrithealaiche tagraidh.
  • Is urrainn dhuinn eadar-dhealachadh a dhèanamh air na sreathan loidsigeach dham buin na cruinneachaidhean sin: aghaidhean, caches, stòradh dàta agus ìre riaghlaidh.
  • Tha an aghaidh ioma-ghnèitheach; tha e air a dhèanamh suas de dhiofar fo-shiostaman gnìomh.
  • Faodar tasgaidhean a sgapadh cuideachd air feadh an fho-shiostam a bhios iad a’ tasgadh an dàta aca.

Leig leinn an dealbh ath-tharraing a-rithist:

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Bhah! Tha, chì sinn rangachd! Tha seo a’ ciallachadh gun urrainn dhut goireasan a sgaoileadh ann am pìosan nas motha: sònraich leasaiche cunntachail gu nód den rangachd seo a tha co-chosmhail ris an fho-shiostam gnìomh (mar “ceòl” san dealbh), agus ceangail cuota ris an aon ìre den rangachd. Tha an rangachd seo cuideachd a’ leigeil leinn seirbheisean a chuir air dòigh ann an dòigh nas sùbailte airson a bhith furasta an riaghladh. Mar eisimpleir, bidh sinn a’ roinn an lìon gu lèir, leis gur e cruinneachadh mòr de luchd-frithealaidh a tha seo, ann an grunn bhuidhnean nas lugha, a chithear san dealbh mar group1, group2.

Le bhith a’ toirt air falbh na loidhnichean a bharrachd, is urrainn dhuinn gach nód den dealbh againn a sgrìobhadh ann an cruth nas còmhnairde: buidheann1.web.front, api.music.aghaidh, user-cache.cache.

Seo mar a thig sinn gu bun-bheachd “hierarchical ciudha”. Tha ainm air mar "group1.web.front". Tha cuota airson goireasan agus còraichean luchd-cleachdaidh air a shònrachadh dha. Bheir sinn na còraichean don neach bho DevOps seirbheis a chuir chun ciudha, agus faodaidh neach-obrach mar sin rudeigin a chuir air bhog sa chiudha, agus bidh còraichean rianachd aig an neach bho OpsDev, agus a-nis is urrainn dha an ciudha a riaghladh, daoine a shònrachadh an sin, thoir còraichean dha na daoine sin, msaa. Bidh seirbheisean a tha a' ruith air a' chiudha seo a' ruith taobh a-staigh cuota na ciudha. Mura h-eil cuota coimpiutaireachd na ciudha gu leòr airson a h-uile seirbheis a chuir an gnìomh aig an aon àm, thèid an cur gu bàs ann an òrdugh, mar sin a’ cruthachadh a’ chiudha fhèin.

Bheir sinn sùil nas mionaidiche air na seirbheisean. Tha ainm làn teisteanais aig seirbheis, a bhios an-còmhnaidh a’ toirt a-steach ainm a’ chiudha. An uairsin bidh an t-ainm air an t-seirbheis lìn aghaidh ceart gu leòr-web.group1.web.front. Agus thèid an t-seirbheis frithealaiche tagraidh a gheibh e a ghairm ok-app.group1.web.front. Tha foillseachadh aig gach seirbheis, a tha a 'sònrachadh a h-uile fiosrachadh riatanach airson a bhith a' suidheachadh innealan sònraichte: cia mheud goireas a bhios an obair seo a 'cleachdadh, dè an rèiteachadh a tha a dhìth air a shon, cia mheud mac-samhail a bu chòir a bhith ann, feartan airson làimhseachadh fàilligeadh na seirbheis seo. Agus às deidh an t-seirbheis a chuir gu dìreach air na h-innealan, nochdaidh na h-eisimpleirean aige. Tha iad cuideachd air an ainmeachadh gun teagamh - mar an àireamh eisimpleir agus ainm seirbheis: 1.ok-web.group1.web.front, 2.ok-web.group1.web.front,…

Tha seo glè ghoireasach: le bhith a 'coimhead dìreach air ainm a' ghobhar ruith, is urrainn dhuinn tòrr a lorg sa bhad.

A-nis leig dhuinn sùil nas mionaidiche a thoirt air na tha na suidheachaidhean sin a’ coileanadh: gnìomhan.

Clasaichean Iomallach Gnìomh

Faodar a h-uile gnìomh ann an OK (agus, is dòcha, anns a h-uile àite) a roinn ann am buidhnean:

  • Gnìomhan Latency Goirid - toradh. Airson gnìomhan agus seirbheisean mar sin, tha an dàil freagairt (latency) glè chudromach, dè cho luath sa thèid gach aon de na h-iarrtasan a phròiseasadh leis an t-siostam. Eisimpleirean de ghnìomhan: aghaidhean lìn, caches, frithealaichean tagraidh, stòradh OLTP, msaa.
  • Duilgheadasan àireamhachaidh - baidse. An seo, chan eil astar giollachd gach iarrtas sònraichte cudromach. Dhaibh, tha e cudromach cia mheud àireamhachadh a nì an obair seo ann an ùine sònraichte (fada) (trochur). Bidh iad sin nan gnìomhan sam bith de MapReduce, Hadoop, ionnsachadh innealan, staitistig.
  • Gnìomhan cùl-fhiosrachaidh - leisg. Airson gnìomhan mar sin, chan eil latency no throughput glè chudromach. Tha seo a’ toirt a-steach diofar dheuchainnean, imrich, ath-àireamhachadh, agus tionndadh dàta bho aon chruth gu cruth eile. Air an aon làimh, tha iad coltach ri feadhainn àireamhaichte, air an làimh eile, chan eil e gu diofar dhuinn dè cho luath sa thèid an crìochnachadh.

Feuch gum faic sinn mar a bhios gnìomhan mar sin ag ithe ghoireasan, mar eisimpleir, am pròiseasar meadhanach.

Gnìomhan dàil goirid. Bidh pàtran caitheamh CPU coltach ri seo aig gnìomh mar seo:

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Gheibhear iarrtas bhon neach-cleachdaidh airson a ghiullachd, bidh an obair a’ tòiseachadh a’ cleachdadh a h-uile cores CPU a tha ri fhaighinn, ga phròiseasadh, a’ tilleadh freagairt, a’ feitheamh ris an ath iarrtas agus a’ stad. Ràinig an ath iarrtas - a-rithist thagh sinn a h-uile dad a bha ann, àireamhachadh e, agus tha sinn a’ feitheamh ris an ath fhear.

Gus dèanamh cinnteach gum bi an ùine as lugha airson a leithid de ghnìomh, feumaidh sinn na goireasan as motha a bhios e ag ithe a ghabhail agus an àireamh riatanach de choraichean a ghlèidheadh ​​​​air a ’mhionnag (an inneal a nì an obair). An uairsin bidh am foirmle glèidhidh airson ar duilgheadas mar a leanas:

alloc: cpu = 4 (max)

agus ma tha inneal minion againn le 16 coraichean, faodar dìreach ceithir gnìomhan mar sin a chuir air. Tha sinn gu sònraichte a’ toirt fa-near gu bheil caitheamh cuibheasach pròiseasar de na gnìomhan sin gu math ìosal - rud a tha follaiseach, leis gu bheil pàirt chudromach den ùine a ’feitheamh ri iarrtas agus a’ dèanamh dad.

Gnìomhan àireamhachaidh. Bidh am pàtran aca beagan eadar-dhealaichte:

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Tha caitheamh stòras cuibheasach CPU airson gnìomhan mar sin gu math àrd. Gu tric bidh sinn ag iarraidh obair àireamhachaidh a chrìochnachadh ann an ùine shònraichte, agus mar sin feumaidh sinn an àireamh as lugha de phròiseasan a dh ’fheumas e a ghlèidheadh ​​​​gus an tèid an àireamhachadh gu lèir a chrìochnachadh ann an ùine iomchaidh. Bidh am foirmle glèidhidh aige a’ coimhead mar seo:

alloc: cpu = [1,*)

“Feuch an cuir thu e air minion far a bheil co-dhiù aon chridhe an-asgaidh, agus an uairsin na tha ann, ithidh e a h-uile càil."

An seo tha èifeachdas cleachdaidh mar-thà mòran nas fheàrr na air gnìomhan le dàil ghoirid. Ach bidh a ’bhuannachd tòrr nas motha ma chuireas tu an dà sheòrsa gnìomh còmhla air aon inneal minion agus a’ cuairteachadh a ghoireasan air an t-slighe. Nuair a dh’ fheumas gnìomh le dàil ghoirid pròiseasar, gheibh e e sa bhad, agus nuair nach eil feum air na goireasan tuilleadh, thèid an gluasad chun obair àireamhachd, i.e. rudeigin mar seo:

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Ach ciamar a nì thu sin?

An toiseach, leig dhuinn sùil a thoirt air prod agus a alloc: cpu = 4. Feumaidh sinn ceithir coraichean a ghlèidheadh. Ann an ruith Docker faodar seo a dhèanamh ann an dà dhòigh:

  • A 'cleachdadh an roghainn --cpuset=1-4, ie cuir ceithir coraichean sònraichte air an inneal don ghnìomh.
  • Airson a chleachdadh --cpuquota=400_000 --cpuperiod=100_000, sònraich cuota airson ùine pròiseasar, i.e. comharraich nach bi a h-uile 100 ms fìor-ùine ag ithe barrachd air 400 ms de ùine pròiseasar. Gheibhear na h-aon ceithir coraichean.

Ach dè de na modhan sin a tha iomchaidh?

Tha cpuset a 'coimhead gu math tarraingeach. Tha ceithir coraichean sònraichte aig a’ ghnìomh, a tha a’ ciallachadh gun obraich caches pròiseasar cho èifeachdach sa ghabhas. Tha eas-bhuannachd aig seo cuideachd: dh’ fheumadh sinn a’ ghnìomh a ghabhail os làimh a bhith a’ cuairteachadh àireamhachadh thairis air coraichean gun luchdachadh an inneil an àite an OS, agus is e obair caran neo-bheag a tha seo, gu sònraichte ma dh’ fheuchas sinn ri gnìomhan baidse a chuir air a leithid. inneal. Tha deuchainnean air sealltainn gu bheil an roghainn le cuota nas freagarraiche an seo: mar seo tha barrachd saorsa aig an t-siostam obrachaidh ann a bhith a’ taghadh a’ chridhe airson a’ ghnìomh a choileanadh aig an àm seo agus tha ùine pròiseasar air a sgaoileadh nas èifeachdaiche.

Feuch an obraich sinn a-mach mar a nì sinn àiteachan glèidhte ann an Docker stèidhichte air an àireamh as lugha de choraichean. Chan eil an cuota airson gnìomhan baidse iomchaidh tuilleadh, leis nach eil feum air an ìre as àirde a chuingealachadh, tha e gu leòr dìreach airson an ìre as ìsle a ghealltainn. Agus an seo tha an roghainn a 'freagairt gu math docker run --cpushares.

Dh’ aontaich sinn ma dh’ fheumas baidse barantas airson co-dhiù aon chridhe, gun innis sinn --cpushares=1024, agus ma tha co-dhiù dà chora ann, tha sinn a’ comharrachadh --cpushares=2048. Cha bhith earrannan cpu a’ cur bacadh ann an dòigh sam bith air cuairteachadh ùine pròiseasar fhad ‘s a tha gu leòr dheth ann. Mar sin, mura h-eil prod a ’cleachdadh na ceithir coraichean aige an-dràsta, chan eil dad a’ cuingealachadh gnìomhan baidse, agus faodaidh iad ùine pròiseasar a bharrachd a chleachdadh. Ach ann an suidheachadh far a bheil gainnead luchd-giullachd, ma tha prod air na ceithir de na coraichean aige ithe agus air a chuota a ruighinn, thèid an ùine pròiseasar a tha air fhàgail a roinn ann an co-rèir ri cpushares, ie ann an suidheachadh trì coraichean an-asgaidh, bidh aon dhiubh air a thoirt do ghnìomh le 1024 cpushares, agus thèid an dithis eile a thoirt gu gnìomh le 2048 cpushares.

Ach chan eil cleachdadh cuota agus earrannan gu leòr. Feumaidh sinn dèanamh cinnteach gum faigh gnìomh le dàil ghoirid prìomhachas thairis air gnìomh baidse nuair a bhios sinn a’ riarachadh ùine pròiseasar. Às aonais a leithid de phrìomhachas, bheir an obair baidse suas a h-uile ùine pròiseasar an-dràsta nuair a bhios feum air leis a’ phrod. Chan eil roghainnean prìomhachais container ann an ruith Docker, ach thig poileasaidhean clàr-ama Linux CPU a-steach. Faodaidh tu leughadh mun deidhinn gu mionaideach an seo, agus taobh a-staigh frèam an artaigil seo thèid sinn troimhe gu goirid:

  • SCED_OTHER
    Gu gnàthach, gheibh a h-uile pròiseas cleachdaiche àbhaisteach air inneal Linux.
  • SCHED_BATCH
    Dealbhaichte airson pròiseasan dian-ghoireasan. Nuair a chuireas tu gnìomh air pròiseasar, thèid peanas gnìomhachaidh ris an canar seo a thoirt a-steach: chan eil e cho dualtach goireasan pròiseasar fhaighinn ma tha e ’ga chleachdadh an-dràsta le gnìomh le SCHED_OTHER
  • SCHED_IDLE
    Pròiseas cùl-fhiosrachaidh le prìomhachas glè ìosal, eadhon nas ìsle na snog -19. Bidh sinn a’ cleachdadh ar leabharlann le còd fosgailte aon-nio, gus am poileasaidh riatanach a shuidheachadh nuair a thòisicheas tu air an t-soitheach le bhith a’ gairm

one.nio.os.Proc.sched_setscheduler( pid, Proc.SCHED_IDLE )

Ach eadhon mura dèan thu prògram ann an Java, faodar an aon rud a dhèanamh leis an àithne chrt:

chrt -i 0 $pid

Bheir sinn geàrr-chunntas air na h-ìrean iomallachd againn gu lèir ann an aon chlàr airson soilleireachd:

Clas insulation
Eisimpleir Alloc
Roghainnean ruith docker
sched_setscheduler chrt*

bhualadh
cpu = 4
--cpuquota=400000 --cpuperiod=100000
SCED_OTHER

Basgaid
Cpu = [1, *)
--cpushares=1024
SCHED_BATCH

Idle
Cpu = [2, *)
--cpushares=2048
SCHED_IDLE

* Ma tha thu a’ dèanamh chrt bho thaobh a-staigh soitheach, is dòcha gu feum thu an comas sys_nice, oir gu bunaiteach bheir Docker air falbh an comas seo nuair a thòisicheas tu air an t-soitheach.

Ach bidh gnìomhan ag ithe chan e a-mhàin am pròiseasar, ach cuideachd trafaic, a bheir buaidh air latency gnìomh lìonra eadhon nas motha na an riarachadh ceàrr de ghoireasan pròiseasar. Mar sin, tha sinn gu nàdarrach airson an aon dealbh fhaighinn airson trafaic. Is e sin, nuair a chuireas gnìomh prod cuid de phasganan chun lìonra, bidh sinn a’ cuingealachadh an astar as àirde (foirmle alloc: lan = [*, 500mbps) ), leis am faod prod seo a dhèanamh. Agus airson baidse tha sinn a’ gealltainn dìreach an ìre as lugha de thoraidhean, ach na cuir crìoch air an ìre as àirde (foirmle alloc: lan = [10Mbps,*) ) Anns a’ chùis seo, bu chòir do thrafaig prod prìomhachas fhaighinn thairis air gnìomhan baidse.
An seo chan eil prìomh-amasan aig Docker as urrainn dhuinn a chleachdadh. Ach thig e gu ar cuideachadh Linux smachd trafaig. Bha e comasach dhuinn an toradh a bha sinn ag iarraidh a choileanadh le cuideachadh bho smachd Curve Seirbheis Cothromach rangachd. Le a chuideachadh, bidh sinn a’ dèanamh eadar-dhealachadh air dà sheòrsa de thrafaig: prod le prìomhachas àrd agus baidse / idle le prìomhachas ìosal. Mar thoradh air an sin, tha an rèiteachadh airson trafaic a-muigh mar seo:

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

an seo 1:0 is e “root qdisc” smachd hsfc; 1: 1 - clas cloinne hsfc le crìoch leud-bann iomlan de 8 Gbit/s, fon bheil na clasaichean cloinne de na soithichean uile air an cur; 1: 2 - tha clas cloinne hsfc cumanta airson a h-uile gnìomh baidse agus leisg le crìoch “fiùghantach”, air a bheilear a’ bruidhinn gu h-ìosal. Tha na clasaichean cloinne hsfc a tha air fhàgail nan clasaichean sònraichte airson a bhith a’ ruith shoithichean prod an-dràsta le crìochan a rèir na comharran aca - 450 agus 400 Mbit/s. Tha ciudha qdisc fq no fq_codel air a thoirt do gach clas hsfc, a rèir an dreach kernel Linux, gus call pacaid a sheachnadh aig àm spreadhaidhean trafaic.

Mar as trice, bidh cuspairean tc a’ toirt prìomhachas do thrafaig a-mhàin. Ach tha sinn airson prìomhachas a thoirt do thrafaig a tha a’ tighinn a-steach cuideachd - às deidh a h-uile càil, faodaidh cuid de ghnìomhachd baidse an sianal gu lèir a tha a’ tighinn a-steach a thaghadh gu furasta, a’ faighinn, mar eisimpleir, baidse mòr de dhàta cuir a-steach airson mapa & lughdachadh. Airson seo cleachdaidh sinn am modal ifb, a chruthaicheas eadar-aghaidh mas-fhìor ifbX airson gach eadar-aghaidh lìonraidh agus a bhios ag ath-stiùireadh trafaic a’ tighinn a-steach bhon eadar-aghaidh gu trafaic a-mach air ifbX. A bharrachd air an sin, airson ifbX, bidh na h-aon chuspairean uile ag obair gus smachd a chumail air trafaic a-mach, agus bidh an rèiteachadh hsfc glè choltach ris:

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Rè na deuchainnean, fhuair sinn a-mach gu bheil hsfc a’ sealltainn na toraidhean as fheàrr nuair a tha an clas 1: 2 de thrafaig baidse / seòlta neo-phrìomhachas cuibhrichte air innealan minion gu dìreach sreath an-asgaidh sònraichte. Rud eile, tha cus buaidh aig trafaic neo-phrìomhachais air cho fada ‘s a tha gnìomhan pròiseil. bidh miniond a’ dearbhadh na tha de leud-bann an-asgaidh gach diog, a’ tomhas caitheamh cuibheasach trafaic de gach gnìomh prod aig minion sònraichte Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki agus ga thoirt air falbh bho leud-bann eadar-aghaidh an lìonraidh Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki le iomall beag, i.e.

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Tha bannan air am mìneachadh gu neo-eisimeileach airson trafaic a-steach agus a-mach. Agus a rèir nan luachan ùra, bidh miniond ag ath-dhealbhadh crìoch clas neo-phrìomhachas 1: 2.

Mar sin, chuir sinn an gnìomh na trì clasaichean aonaranachd: prod, batch agus idle. Tha buaidh mhòr aig na clasaichean sin air feartan coileanaidh gnìomhan. Mar sin, chuir sinn romhainn am feart seo a chuir aig mullach na rangachd, gus am biodh e soilleir sa bhad nuair a choimheadas sinn air ainm a’ chiudha rangachd cò ris a tha sinn a’ dèiligeadh:

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Ar caraidean uile -lìn и ceòl tha na h-aghaidhean an uairsin air an cur san rangachd fo prod. Mar eisimpleir, fo bhaidse, leig leinn an t-seirbheis a chuir catalog ciùil, a bhios bho àm gu àm a’ cur ri chèile catalog de shlighean bho sheata de fhaidhlichean mp3 a chaidh a luchdachadh suas gu Odnoklassniki. Bhiodh eisimpleir de sheirbheis fo idle inneal-atharrachaidh ciùil, a nì gnàthachadh ìre meud ciùil.

Le na loidhnichean a bharrachd air an toirt air falbh a-rithist, is urrainn dhuinn na h-ainmean seirbheis againn a sgrìobhadh nas còmhnairde le bhith a’ cur a’ chlas aonaranachd gnìomh ri deireadh ainm na seirbheis slàn: lìn.front.prod, catalog.music.batch, cruth-atharrachaidh.music.idle.

Agus a-nis, a 'coimhead air ainm na seirbheis, tha sinn a' tuigsinn chan ann a-mhàin dè a 'ghnìomh a tha e a' coileanadh, ach cuideachd a clas iomallachd, a tha a 'ciallachadh cho cudromach' sa tha e, msaa.

Tha a h-uile dad math, ach tha aon fhìrinn searbh ann. Tha e do-dhèanta gnìomhan a tha a’ ruith air aon inneal a sgaradh gu tur.

Na chaidh againn air a choileanadh: ma bhios baidse ag ithe gu dian a-mhàin Goireasan CPU, an uairsin bidh an clàr-ama Linux CPU togte a’ dèanamh an obair gu math, agus cha mhòr nach eil buaidh sam bith air a’ ghnìomh prod. Ach ma tha an obair baidse seo a 'tòiseachadh ag obair gu gnìomhach le cuimhne, an uairsin tha a' bhuaidh dha chèile a 'nochdadh mar-thà. Tha seo a’ tachairt leis gu bheil an obair prod “air a nighe a-mach” de thasgaidhean cuimhne a ’phròiseasar - mar thoradh air an sin, bidh tasgadan ag ionndrainn àrdachadh, agus bidh am pròiseasar a’ pròiseasadh a ’ghnìomh toraidh nas slaodaiche. Faodaidh an leithid de ghnìomh baidse àrdachadh 10% air latency an t-soithich àbhaisteach againn.

Tha e eadhon nas duilghe trafaic iomallach a dhèanamh leis gu bheil ciudha pacaidean a-staigh aig cairtean lìonra an latha an-diugh. Ma gheibh am pasgan bhon ghnìomh baidse an sin an toiseach, is e seo a ’chiad fhear a thèid a chuir thairis air a’ chàball, agus chan urrainnear dad a dhèanamh mu dheidhinn.

A bharrachd air an sin, gu ruige seo cha do rinn sinn ach fuasgladh fhaighinn air an duilgheadas a thaobh prìomhachas a thoirt do thrafaig TCP: chan eil dòigh-obrach hsfc ag obair airson UDP. Agus eadhon ann an cùis trafaic TCP, ma tha an obair baidse a ’gineadh tòrr trafaic, bheir seo cuideachd timcheall air àrdachadh 10% ann an dàil a’ ghnìomh prod.

fulangas lochd

B ’e aon de na h-amasan ann a bhith a’ leasachadh aon-sgòth fulangas lochdan Odnoklassniki a leasachadh. Mar sin, an ath rud bu mhath leam beachdachadh nas mionaidiche air suidheachaidhean a dh’ fhaodadh a bhith ann de fhàilligidhean agus tubaistean. Feuch an tòisich sinn le suidheachadh sìmplidh - teip container.

Faodaidh an soitheach fhèin fàiligeadh ann an grunn dhòighean. Dh’ fhaodadh seo a bhith mar sheòrsa de dheuchainn, bug no mearachd anns an fhoillseachadh, air sgàth sin bidh an obair prod a’ tòiseachadh a’ cleachdadh barrachd ghoireasan na tha air a chomharrachadh san fhoillseachadh. Bha cùis againn: chuir leasaiche aon algairim iom-fhillte an gnìomh, rinn e ath-obrachadh iomadh uair, chuir e thairis e fhèin agus dh’ fhàs e cho troimh-chèile is gun deach an duilgheadas a lùbadh aig a’ cheann thall ann an dòigh nach robh cho beag. Agus leis gu bheil prìomhachas nas àirde aig a ’ghnìomh toraidh na a h-uile càil eile air na h-aon mhèinnean, thòisich e ag ithe a h-uile goireas pròiseasar a bha ri fhaighinn. Anns an t-suidheachadh seo, shàbhail aonaranachd, no an àite cuota ùine CPU, an latha. Ma thèid cuota a thoirt do ghnìomh, cha ith an obair tuilleadh. Mar sin, cha do mhothaich baidse agus gnìomhan prod eile a bha a ’ruith air an aon inneal dad.

Is e an dàrna duilgheadas a dh’ fhaodadh a bhith ann gu bheil an soitheach a’ tuiteam. Agus an seo sàbhail poileasaidhean ath-thòiseachadh sinn, tha fios aig a h-uile duine orra, tha Docker fhèin a’ dèanamh obair mhath. Tha poileasaidh ath-thòiseachadh an-còmhnaidh aig cha mhòr a h-uile gnìomh toraidh. Aig amannan bidh sinn a’ cleachdadh on_failure airson gnìomhan baidse no airson debugging soithichean prod.

Dè as urrainn dhut a dhèanamh mura h-eil minion slàn ri fhaighinn?

Gu follaiseach, ruith an soitheach air inneal eile. Is e am pàirt inntinneach an seo na thachras don t-seòladh IP (ean) a chaidh a shònrachadh don ghobhar.

Is urrainn dhuinn na h-aon sheòlaidhean IP a shònrachadh do shoithichean ris na h-innealan minion air a bheil na soithichean sin a’ ruith. An uairsin, nuair a thèid an soitheach a chuir air bhog air inneal eile, bidh an seòladh IP aige ag atharrachadh, agus feumaidh a h-uile neach-dèiligidh tuigsinn gu bheil an soitheach air gluasad, agus a-nis feumaidh iad a dhol gu seòladh eile, a dh ’fheumas seirbheis Lorg Seirbheis air leth.

Tha Lorg Seirbheis goireasach. Tha mòran fhuasglaidhean air a’ mhargaidh de dhiofar ìrean de fhulangas lochdan airson clàr seirbheis a chuir air dòigh. Gu tric bidh fuasglaidhean mar sin a’ cur an gnìomh loidsig cothromachaidh luchdan, a’ stòradh rèiteachadh a bharrachd ann an cruth stòradh KV, msaa.
Ach, bu mhath leinn an fheum air clàr air leth a chuir an gnìomh a sheachnadh, oir bhiodh seo a’ ciallachadh siostam èiginneach a thoirt a-steach a bhios air a chleachdadh leis a h-uile seirbheis ann an cinneasachadh. Tha seo a 'ciallachadh gur e puing fàilligeadh a tha seo, agus feumaidh tu fuasgladh a tha gu math fulangach le lochdan a thaghadh no a leasachadh, a tha gu follaiseach gu math duilich, a' toirt ùine agus daor.

Agus aon eas-bhuannachd mhòr eile: gus am biodh an seann bhun-structar againn ag obair leis an fhear ùr, dh'fheumadh sinn a h-uile gnìomh ath-sgrìobhadh gus siostam Lorg Seirbheis air choireigin a chleachdadh. Tha tòrr obrach ann, agus ann an cuid de dh'àiteachan tha e cha mhòr do-dhèanta nuair a thig e gu innealan ìre ìosal a bhios ag obair aig ìre kernel an OS no gu dìreach leis a’ bhathar-cruaidh. Cur an gnìomh an gnìomh seo a’ cleachdadh pàtrain fuasglaidh stèidhichte, leithid taobh-chàr bhiodh e a’ ciallachadh ann an cuid de dh’àiteachan eallach a bharrachd, ann an cuid eile – iom-fhillteachd obrachaidh agus suidheachaidhean fàilligeadh a bharrachd. Cha robh sinn airson rudan a dhèanamh nas toinnte, agus mar sin chuir sinn romhainn cleachdadh Lorg Seirbheis a dhèanamh roghainneil.

Ann an aon-sgòth, tha an IP a’ leantainn an t-soithich, ie tha a sheòladh IP fhèin aig gach eisimpleir gnìomh. Tha an seòladh seo “statach”: tha e air a shònrachadh do gach suidheachadh nuair a thèid an t-seirbheis a chuir chun sgòth an toiseach. Ma bha àireamh eadar-dhealaichte de shuidheachaidhean aig seirbheis rè a beatha, an uairsin aig a’ cheann thall thèid na h-uimhir de sheòlaidhean IP a thoirt dha ’s a bha ann an suidheachaidhean as àirde.

Às deidh sin, chan eil na seòlaidhean sin ag atharrachadh: tha iad air an sònrachadh aon uair agus tha iad fhathast ann fad beatha na seirbheis ann an cinneasachadh. Bidh seòlaidhean IP a’ leantainn shoithichean air feadh an lìonra. Ma thèid an soitheach a ghluasad gu minion eile, leanaidh an seòladh e.

Mar sin, is ann ainneamh a bhios mapadh ainm seirbheis don liosta de sheòlaidhean IP aige ag atharrachadh. Ma choimheadas tu a-rithist air ainmean nan suidheachaidhean seirbheis air an tug sinn iomradh aig toiseach an artaigil (1.ok-web.group1.web.front.prod, 2.ok-web.group1.web.front.prod,…), mothaichidh sinn gu bheil iad coltach ris na FQDNn a chleachdar ann an DNS. Tha sin ceart, gus ainmean suidheachaidhean seirbheis a mhapadh gu na seòlaidhean IP aca, bidh sinn a’ cleachdadh protocol DNS. A bharrachd air an sin, bidh an DNS seo a ’tilleadh a h-uile seòladh IP glèidhte de na soithichean uile - an dà chuid a’ ruith agus a ’stad (canaidh sinn trì mac-samhail air an cleachdadh, agus tha còig seòlaidhean againn glèidhte an sin - thèid na còig a thilleadh). Bidh teachdaichean, às deidh dhaibh am fiosrachadh seo fhaighinn, a’ feuchainn ri ceangal a stèidheachadh leis na còig mac-samhail - agus mar sin co-dhùnadh an fheadhainn a tha ag obair. Tha an roghainn seo airson faighinn a-mach mòran nas earbsaiche; chan eil e a’ toirt a-steach an dàrna cuid DNS no Seirbheis Discovery, a tha a’ ciallachadh nach eil duilgheadasan duilich ann ri fhuasgladh ann a bhith a’ dèanamh cinnteach à iomchaidheachd fiosrachaidh agus fulangas lochdan nan siostaman sin. A bharrachd air an sin, ann an seirbheisean èiginneach air a bheil gnìomhachd a ’phort gu lèir an urra, chan urrainn dhuinn DNS a chleachdadh idir, ach dìreach cuir a-steach seòlaidhean IP a-steach don rèiteachadh.

Faodaidh a bhith a’ buileachadh a leithid de ghluasad IP air cùl shoithichean a bhith neo-bheag - agus seallaidh sinn ri mar a dh’ obraicheas e leis an eisimpleir a leanas:

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Canaidh sinn gu bheil am maighstir aon-sgòth a’ toirt àithne do minion M1 ruith 1.ok-web.group1.web.front.prod le seòladh 1.1.1.1. Ag obair air minion BIRD, a tha a’ sanasachadh an t-seòlaidh seo gu frithealaichean sònraichte sgàthan slighe. Tha seisean BGP aig an fheadhainn mu dheireadh leis a’ bhathar-cruaidh lìonra, anns a bheil an t-slighe seòlaidh 1.1.1.1 air M1 air eadar-theangachadh. Pacaidean slighean M1 taobh a-staigh an t-soithich a’ cleachdadh Linux. Tha trì frithealaichean meòrachaidh slighe ann, leis gu bheil seo na phàirt fìor dheatamach den bhun-structar aon-sgòth - às an aonais, chan obraich an lìonra ann an aon sgòth. Bidh sinn gan cur ann an racaichean eadar-dhealaichte, ma ghabhas sin dèanamh ann an seòmraichean eadar-dhealaichte den ionad dàta, gus an coltas gum bi na trì a 'fàilligeadh aig an aon àm a lùghdachadh.

Gabhamaid a-nis gu bheil an ceangal eadar am maighstir aon-sgòth agus am minion M1 air chall. Bidh am maighstir aon-sgòth a-nis ag obair leis a’ bharail gu bheil M1 air fàiligeadh gu tur. Is e sin, bheir e an àithne don M2 minion a chuir air bhog web.group1.web.front.prod leis an aon sheòladh 1.1.1.1. A-nis tha dà shlighe còmhstri againn air an lìonra airson 1.1.1.1: air M1 agus air M2. Gus còmhstrithean mar sin fhuasgladh, bidh sinn a’ cleachdadh an Multi Exit Discriminator, a tha air a shònrachadh ann am brath BGP. Is e seo àireamh a sheallas cuideam an t-slighe a chaidh a shanasachadh. Am measg nan slighean connspaideach, thèid an t-slighe leis an luach MED as ìsle a thaghadh. Bidh am maighstir aon-sgòth a’ toirt taic do MED mar phàirt riatanach de sheòlaidhean IP container. Airson a 'chiad uair, tha an seòladh air a sgrìobhadh le MED mòr gu leòr = 1. Ann an suidheachadh a leithid de ghluasad èiginneach, bidh am maighstir a' lùghdachadh an MED, agus bidh M000 mar-thà a 'faighinn an àithne gus an seòladh 000 a shanasachadh le MED = Mairidh an t-eisimpleir a tha ruith air M2 anns a' chùis so, cha 'n 'eil ceangal idir ann, agus is beag a leas a bhuil a bhi aige oirnn gus an tèid an ceangal ris a' mhaighstir ath-nuadhachadh, 'nuair a chuirear stad air mar sheann ghlacadh.

Tubaistean

Bidh a h-uile siostam riaghlaidh ionad dàta an-còmhnaidh a’ làimhseachadh fàilligidhean beaga gu dòigheil. Tha tar-shruthadh container mar an àbhaist cha mhòr anns a h-uile àite.

Bheir sinn sùil air mar a làimhsicheas sinn èiginn, leithid fàilligeadh cumhachd ann an aon seòmar no barrachd de ionad dàta.

Dè tha tubaist a’ ciallachadh airson siostam riaghlaidh ionad dàta? An toiseach, is e fàilligeadh mòr aon-ùine a tha seo le mòran innealan, agus feumaidh an siostam smachd tòrr shoithichean a ghluasad aig an aon àm. Ach ma tha an tubaist gu math mòr, faodaidh e tachairt nach urrainnear a h-uile gnìomh ath-riarachadh gu minions eile, leis gu bheil comas stòrais an ionaid dàta a’ tuiteam fo 100% den luchd.

Gu tric bidh tubaistean an cois fàilligeadh an ìre smachd. Faodaidh seo tachairt air sgàth fàilligeadh an uidheamachd aige, ach nas trice air sgàth nach eilear a ’dèanamh deuchainn air tubaistean, agus bidh an ìre smachd fhèin a’ tuiteam air sgàth barrachd luchd.

Dè as urrainn dhut a dhèanamh mu dheidhinn seo uile?

Tha mòr-imrich a’ ciallachadh gu bheil àireamh mhòr de ghnìomhachd, imrich agus cleachdadh a’ tachairt sa bhun-structar. Dh'fhaodadh gun toir gach aon de na h-imrich beagan ùine gus ìomhaighean soitheach a lìbhrigeadh agus a dhì-phapadh gu minions, soithichean a chuir air bhog agus a thòiseachadh, msaa. Mar sin, tha e ion-mhiannaichte gun tèid gnìomhan nas cudromaiche a chuir air bhog ro fheadhainn nach eil cho cudromach.

Bheir sinn sùil a-rithist air rangachd sheirbheisean air a bheil sinn eòlach agus feuchaidh sinn ri co-dhùnadh dè na gnìomhan a tha sinn airson a ruith an toiseach.

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Gu dearbh, is iad sin na pròiseasan a tha gu dìreach an sàs ann a bhith a’ giullachd iarrtasan luchd-cleachdaidh, ie prod. Bidh sinn a’ comharrachadh seo le prìomhachas suidheachaidh - àireamh a dh’ fhaodar a shònrachadh don ciudha. Ma tha prìomhachas nas àirde aig ciudha, thèid na seirbheisean aige a chuir an toiseach.

Air prod tha sinn a’ sònrachadh phrìomhachasan nas àirde, 0; air baidse - beagan nas ìsle, 100; air idle - eadhon nas ìsle, 200. Tha prìomhachasan air an cur an sàs ann an òrdugh. Bidh prìomhachas co-ionann aig a h-uile gnìomh nas ìsle san rangachd. Ma tha sinn ag iarraidh gun tèid caches taobh a-staigh prod a chuir air bhog ro frontends, an uairsin sònraichidh sinn prìomhachasan gu cache = 0 agus gu subqueues aghaidh = 1. Ma tha, mar eisimpleir, tha sinn ag iarraidh gun tèid am prìomh dhoras a chuir air bhog bhon aghaidh an toiseach, agus an aghaidh ciùil a-mhàin an uairsin, an uairsin is urrainn dhuinn prìomhachas nas ìsle a shònrachadh don fhear mu dheireadh - 10.

Is e an ath dhuilgheadas dìth ghoireasan. Mar sin, dh’ fhàillig àireamh mhòr de uidheamachd, tallachan iomlan an ionaid dàta, agus chuir sinn air bhog na h-uimhir de sheirbheisean a-rithist nach eil goireasan gu leòr ann airson a h-uile duine. Feumaidh tu co-dhùnadh dè na gnìomhan a dh’ ìobradh tu gus na prìomh sheirbheisean riatanach a chumail a’ dol.

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Eu-coltach ri prìomhachas suidheachaidh, chan urrainn dhuinn a h-uile gnìomh baidse a ìobairt gu mì-chinnteach; tha cuid dhiubh cudromach airson obrachadh na portal. Mar sin, tha sinn air a chomharrachadh fa leth prìomhachas preemption gnìomhan. Nuair a thèid a shuidheachadh, faodaidh gnìomh le prìomhachas nas àirde preempt, ie stad, gnìomh le prìomhachas nas ìsle mura h-eil barrachd mhinistearan an-asgaidh ann. Anns a 'chùis seo, is dòcha nach bi gnìomh le prìomhachas ìosal fhathast gun àite, ie cha bhi minion iomchaidh ann tuilleadh le goireasan an-asgaidh gu leòr.

Anns an rangachd againn, tha e gu math sìmplidh prìomhachas preemption a shònrachadh gus am bi gnìomhan prod is batch a’ preempt no a’ stad air gnìomhan leisg, ach chan ann air a chèile, le bhith a’ sònrachadh prìomhachas airson idle co-ionann ri 200. Dìreach mar a tha ann an cùis prìomhachais àiteachaidh, bidh sinn is urrainn dhuinn ar rangachd a chleachdadh gus cunntas a thoirt air riaghailtean nas iom-fhillte. Mar eisimpleir, leig dhuinn innse gu bheil sinn ag ìobairt gnìomh a’ chiùil mura h-eil goireasan gu leòr againn airson a’ phrìomh phort lìn, a’ suidheachadh a’ phrìomhachais airson na nodan co-fhreagarrach nas ìsle: 10.

Tubaistean DC gu lèir

Carson a dh’ fhaodadh an ionad dàta gu lèir fàiligeadh? Eileamaid. B’ e post math a bh’ ann thug an doineann buaidh air obair an ionaid dàta. Faodar beachdachadh air na h-eileamaidean mar dhaoine gun dachaigh a bha uair a’ losgadh an optics anns an iomadachd, agus chaill an ionad dàta conaltradh le làraich eile gu tur. Faodaidh adhbhar fàiligeadh a bhith na fheart daonna cuideachd: bheir an gnìomhaiche a leithid de àithne a-mach gun tuit an ionad dàta gu lèir. Dh’ fhaodadh seo tachairt mar thoradh air bug mòr. San fharsaingeachd, chan eil tuiteam ionadan dàta neo-chumanta. Bidh seo a’ tachairt dhuinn aon uair gach beagan mhìosan.

Agus is e seo a nì sinn gus casg a chuir air duine sam bith bho bhith a’ tweetadh #beò.

Is e aonaranachd a’ chiad ro-innleachd. Tha gach eisimpleir aon-sgòth iomallach agus faodaidh iad innealan a riaghladh ann an aon ionad dàta a-mhàin. Is e sin, is e call aon ionad dàta a th’ ann an call sgòth mar thoradh air mialan no òrdughan gnìomhaiche ceàrr. Tha sinn deiseil airson seo: tha poileasaidh call obrach againn anns a bheil mac-samhail den tagradh agus dàta suidhichte anns a h-uile ionad dàta. Bidh sinn a’ cleachdadh stòran-dàta fulangach air lochdan agus bho àm gu àm a’ dèanamh deuchainn airson fàilligidhean.
Leis gu bheil ceithir ionadan dàta againn an-diugh, tha sin a’ ciallachadh ceithir suidheachaidhean fa leth, gu tur iomallach de aon-sgòth.

Bidh an dòigh-obrach seo chan ann a-mhàin a’ dìon an aghaidh fàilligeadh corporra, ach faodaidh e cuideachd dìon an aghaidh mearachd gnìomhaiche.

Dè eile a ghabhas dèanamh leis a’ bhàillidh daonna? Nuair a bheir gnìomhaiche òrdugh neònach no cunnartach don sgòth, is dòcha gun tèid iarraidh air gu h-obann fuasgladh fhaighinn air duilgheadas beag gus faicinn dè cho math sa bha e a’ smaoineachadh. Mar eisimpleir, mas e seo seòrsa de stad mòr de dh’ iomadh mac-samhail no dìreach àithne neònach - a’ lughdachadh an àireamh de mhac-samhail no ag atharrachadh ainm na h-ìomhaigh, agus chan e dìreach àireamh an tionndaidh san fhoillseachadh ùr.

Aon-sgòth - ionad dàta ìre OS ann an Odnoklassniki

Builean

Feartan sònraichte de aon-sgòth:

  • Sgeama ainmean rangachaidh is lèirsinneach airson seirbheisean agus soithichean, a leigeas leat faighinn a-mach gu sgiobalta dè an obair a th’ ann, cò ris a tha e a’ buntainn agus mar a tha e ag obair agus cò air a bheil uallach air a shon.
  • Bidh sinn a 'cur an gnìomh ar dòigh-obrach a bhith a’ cothlamadh prod-agus baidse-gnìomhan air minions gus èifeachdas roinneadh innealan a leasachadh. An àite cpuset bidh sinn a’ cleachdadh cuotaichean CPU, earrannan, poileasaidhean clàr-ama CPU agus Linux QoS.
  • Cha b 'urrainnear soithichean a bha a' ruith air an aon inneal a sgaradh gu tur, ach tha a 'bhuaidh aca fhathast taobh a-staigh 20%.
  • Bidh eagrachadh sheirbheisean ann an rangachd a’ cuideachadh le bhith a’ cleachdadh ath-bheothachadh mòr-thubaist fèin-ghluasadach prìomhachasan suidheachaidh agus preemption.

Ceistean Cumanta

Carson nach do ghabh sinn fuasgladh deiseil?

  • Feumaidh diofar chlasaichean de aonaranachd gnìomh diofar loidsig nuair a thèid a chuir air minions. Mas urrainnear gnìomhan prod a chuir dìreach le bhith a’ gleidheadh ​​​​stòrasan, feumar gnìomhan baidse is seòlta a chuir a-steach, a’ cumail sùil air cleachdadh fìor ghoireasan air innealan minion.
  • Feum air aire a thoirt do ghoireasan a thèid a chaitheamh le gnìomhan, leithid:
    • leud-bann lìonra;
    • seòrsaichean agus “fearsailean” de dhiosg.
  • An fheum air prìomhachasan sheirbheisean a chomharrachadh rè freagairt èiginn, còraichean agus cuotathan òrdughan airson goireasan, a tha air am fuasgladh le bhith a ’cleachdadh ciudhaichean rangachaidh ann an aon sgòth.
  • An fheum air ainmean dhaoine air soithichean gus an ùine freagairt do thubaistean is thachartasan a lughdachadh
  • Do-dhèanta buileachadh farsaing aon-ùine de Lorg Seirbheis; an fheum air a bhith còmhla airson ùine mhòr le gnìomhan air an cumail air luchd-aoigheachd bathar-cruaidh - rudeigin a tha air fhuasgladh le seòlaidhean IP “statach” às deidh soithichean, agus, mar thoradh air an sin, an fheum air amalachadh gun samhail le bun-structar lìonra mòr.

Dh'fheumadh na gnìomhan sin uile atharrachaidhean mòra a dhèanamh air na fuasglaidhean a th' ann mar-thà a fhreagras oirnne, agus, às dèidh dhuinn an obair a mheasadh, thuig sinn gum b' urrainn dhuinn ar fuasgladh fhèin a leasachadh le timcheall air na h-aon chosgaisean obrach. Ach bidh am fuasgladh agad fada nas fhasa obrachadh agus leasachadh - chan eil tarraingean neo-riatanach ann a bheir taic do ghnìomhachd nach eil a dhìth oirnn.

Dhaibhsan a leugh na loidhnichean mu dheireadh, tapadh leat airson do foighidinn agus aire!

Source: www.habr.com

Cuir beachd ann