Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Alloh, jama'a! Sunana Oleg Anastasyev, Ina aiki a Odnoklassniki a cikin ƙungiyar Platform. Kuma ban da ni, akwai kayan aiki da yawa da ke aiki a Odnoklassniki. Muna da cibiyoyin bayanai guda huɗu tare da kusan racks 500 tare da sabobin fiye da dubu 8. A wani lokaci, mun fahimci cewa ƙaddamar da sabon tsarin gudanarwa zai ba mu damar yin amfani da kayan aiki da kyau, sauƙaƙe gudanarwa, sarrafa sarrafa (sake) rarraba albarkatun kwamfuta, hanzarta ƙaddamar da sababbin ayyuka, da kuma hanzarta mayar da martani. zuwa manyan hadurai.

Me ya same ta?

Bayan ni da tarin kayan masarufi, akwai kuma mutanen da ke aiki da wannan masarrafa: injiniyoyi waɗanda ke tsaye a cibiyoyin bayanai kai tsaye; masu sadarwar da suka kafa software na cibiyar sadarwa; masu gudanarwa, ko SREs, waɗanda ke ba da juriya ga abubuwan more rayuwa; da ƙungiyoyin ci gaba, kowannensu yana da alhakin wani ɓangare na ayyukan tashar. Software da suke ƙirƙira yana aiki kamar haka:

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Ana karɓar buƙatun mai amfani duka a gaban babban tashar www.ok.ru, da wasu, misali a gaban API ɗin kiɗan. Don aiwatar da dabarun kasuwanci, suna kiran uwar garken aikace-aikacen, wanda, lokacin aiwatar da buƙatun, yana kiran mahimman microservices na musamman - jadawali ɗaya (jadawali na haɗin kai), cache mai amfani (cache na bayanan mai amfani), da sauransu.

Kowane ɗayan waɗannan sabis ɗin ana saka shi akan injuna da yawa, kuma kowannensu yana da alhakin haɓakawa da ke da alhakin aikin na'urorin, aikin su da haɓakar fasaha. Duk waɗannan ayyuka suna gudana akan sabar kayan masarufi, kuma har zuwa kwanan nan mun ƙaddamar da daidaitaccen aiki ɗaya akan kowane uwar garken, watau ya keɓanta don takamaiman aiki.

Me yasa haka? Wannan hanyar tana da fa'idodi da yawa:

  • An sassauta gudanar da taro. Bari mu ce aiki yana buƙatar wasu ɗakunan karatu, wasu saituna. Sa'an nan kuma an sanya uwar garken zuwa takamaiman ƙungiya guda ɗaya, an kwatanta manufofin cfengine na wannan rukuni (ko an riga an kwatanta shi), kuma wannan tsarin yana tsakiyar tsakiya kuma yana fitar da shi ta atomatik zuwa duk sabobin a cikin wannan rukunin.
  • Sauƙaƙe ganewar asali. Bari mu ce kun kalli ƙarin nauyin da ke kan na'ura mai kwakwalwa ta tsakiya kuma ku gane cewa wannan nauyin zai iya samuwa ne kawai ta aikin da ke gudana akan wannan masarrafa. Neman wanda ake zargi yana ƙarewa da sauri.
  • Sauƙaƙe saka idanu. Idan wani abu ba daidai ba tare da uwar garken, mai saka idanu ya ba da rahoto, kuma kun san ainihin wanda ke da laifi.

Sabis wanda ya ƙunshi kwafi da yawa ana keɓance sabar sabar da yawa - ɗaya ga kowane. Sa'an nan kuma an keɓe albarkatun kwamfuta don sabis ɗin a sauƙaƙe: adadin sabar da sabis ɗin yake da shi, matsakaicin adadin albarkatun da zai iya cinyewa. "Sauƙi" a nan ba yana nufin yana da sauƙin amfani ba, amma a ma'anar cewa rabon albarkatun ana yin shi da hannu.

Wannan hanyar kuma ta ba mu damar yin hakan na musamman ƙarfe jeri don aikin da ke gudana akan wannan uwar garken. Idan aikin yana adana bayanai masu yawa, to muna amfani da uwar garken 4U tare da chassis mai fayafai 38. Idan aikin na lissafi ne kawai, to zamu iya siyan sabar 1U mai rahusa. Wannan yana da inganci cikin lissafi. Daga cikin wasu abubuwa, wannan hanyar tana ba mu damar yin amfani da ƙananan inji sau huɗu masu nauyi mai kama da hanyar sadarwar sada zumunta ɗaya.

Irin wannan inganci a cikin amfani da albarkatun ƙididdiga ya kamata kuma ya tabbatar da ingantaccen tattalin arziki, idan muka ci gaba daga yanayin cewa abu mafi tsada shine sabobin. Na dogon lokaci, hardware shine mafi tsada, kuma mun yi ƙoƙari mai yawa don rage farashin kayan aiki, yana zuwa tare da kuskuren haƙuri algorithms don rage bukatun amincin kayan aiki. Kuma a yau mun kai matakin da farashin uwar garken ya daina yanke hukunci. Idan ba ku yi la'akari da sababbin abubuwan ban sha'awa ba, to, ƙayyadaddun ƙayyadaddun sabobin a cikin rak ɗin ba shi da mahimmanci. Yanzu muna da wata matsala - farashin sararin samaniya da uwar garken ke cikin cibiyar bayanai, wato, sarari a cikin rak.

Da yake fahimtar cewa haka lamarin yake, mun yanke shawarar yin lissafin yadda muke amfani da racks yadda ya kamata.
Mun ɗauki farashin uwar garken mafi ƙarfi daga waɗanda suka dace da tattalin arziƙi, ƙididdige yawan irin waɗannan sabar da za mu iya sanyawa a cikin racks, ayyuka nawa za mu gudanar da su bisa ga tsohon samfurin "sabar ɗaya = ɗawainiya ɗaya" da nawa irin wannan. ayyuka na iya amfani da kayan aiki. Suka kirga suka zubar da hawaye. Ya juya cewa ingancinmu a cikin amfani da racks shine kusan 11%. Ƙarshen a bayyane yake: muna buƙatar ƙara haɓakar amfani da cibiyoyin bayanai. Zai yi kama da cewa mafita a bayyane yake: kuna buƙatar gudanar da ayyuka da yawa akan sabar ɗaya lokaci ɗaya. Amma a nan ne matsalolin suka fara.

Tsarin taro yana ƙara rikitarwa sosai - yanzu ba shi yiwuwa a sanya kowane rukuni zuwa sabar. Bayan haka, yanzu ana iya ƙaddamar da ayyuka da yawa na umarni daban-daban akan sabar ɗaya. Bugu da ƙari, ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙa'idodi na iya yin karo da aikace-aikace daban-daban. Hakanan bincike ya zama mafi rikitarwa: idan kun ga karuwar CPU ko amfani da faifai akan sabar, ba ku san aikin da ke haifar da matsala ba.

Amma babban abu shine babu keɓance tsakanin ayyukan da ke gudana akan injin guda ɗaya. Anan, alal misali, akwai jadawali na matsakaicin lokacin amsawa na aikin uwar garken kafin da kuma bayan an ƙaddamar da wani aikace-aikacen ƙididdiga akan sabar guda ɗaya, ba wata alaƙa da ta farko - lokacin amsawar babban aikin ya ƙaru sosai.

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Babu shakka, kuna buƙatar gudanar da ayyuka ko dai a cikin kwantena ko a cikin injina. Tunda kusan dukkanin ayyukanmu suna gudana ƙarƙashin OS ɗaya (Linux) ko kuma an daidaita su, ba ma buƙatar tallafawa tsarin aiki daban-daban. Saboda haka, ba a buƙatar haɓakawa; saboda ƙarin abin da ke sama, zai yi ƙasa da inganci fiye da ɗaukar kaya.

A matsayin aiwatar da kwantena don gudanar da ayyuka kai tsaye a kan sabobin, Docker ɗan takara ne mai kyau: Hotunan tsarin fayil suna warware matsaloli tare da daidaitawar rikice-rikice da kyau. Gaskiyar cewa hotuna na iya haɗa nau'i-nau'i da yawa suna ba mu damar rage yawan adadin bayanan da ake buƙata don tura su a kan abubuwan more rayuwa, rarraba sassa na gama gari zuwa sassa daban-daban na tushe. Daga nan sai a fitar da yadudduka na asali.

Bugu da ƙari, shirye-shiryen yin rajista da alamar hoto a Docker suna ba mu shirye-shiryen da aka yi don siga da isar da lambar zuwa samarwa.

Docker, kamar kowace fasaha mai kama da ita, tana ba mu wani matakin keɓewar akwati daga cikin akwatin. Misali, keɓewar ƙwaƙwalwar ajiya - kowane akwati yana ba da iyaka akan amfani da ƙwaƙwalwar injin, bayan abin da ba zai cinye ba. Hakanan zaka iya ware kwantena dangane da amfani da CPU. A gare mu, duk da haka, daidaitaccen rufi bai isa ba. Amma ƙari akan hakan a ƙasa.

Kwantena masu gudana kai tsaye akan sabar sabar wani bangare ne kawai na matsalar. Ɗayan ɓangaren yana da alaƙa da ɗakunan ajiya a kan sabobin. Kuna buƙatar fahimtar wane akwati za a iya sanyawa akan wace uwar garken. Wannan ba aiki ba ne mai sauƙi, saboda ana buƙatar sanya kwantena a kan sabobin da yawa sosai ba tare da rage saurin su ba. Irin wannan jeri kuma na iya zama da wahala daga mahangar haƙuri ta kuskure. Sau da yawa muna so mu sanya kwafin sabis iri ɗaya a cikin raƙuman ruwa daban-daban ko ma a cikin ɗakuna daban-daban na cibiyar bayanai, ta yadda idan rak ko ɗaki ya gaza, ba za mu rasa duk kwafin sabis ɗin nan da nan ba.

Rarraba kwantena da hannu ba zaɓi bane lokacin da kake da sabobin dubu 8 da kwantena 8-16 dubu.

Bugu da kari, muna so mu ba wa masu haɓaka ƙarin 'yancin kai a cikin rabon albarkatun don su iya ɗaukar nauyin ayyukansu a samarwa da kansu, ba tare da taimakon mai gudanarwa ba. A lokaci guda, muna so mu ci gaba da sarrafawa ta yadda wasu ƙananan sabis ba za su cinye duk albarkatun cibiyoyin bayanan mu ba.

Babu shakka, muna buƙatar Layer mai sarrafawa wanda zai yi wannan ta atomatik.

Don haka mun zo ga hoto mai sauƙi kuma mai fahimta wanda duk masu ginin gine-gine suke so: murabba'i uku.

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Masanan gizagizai guda ɗaya rukuni ne na gazawar da ke da alhakin shirya kidan gajimare. Mai haɓakawa yana aika bayyanai ga maigidan, wanda ya ƙunshi duk bayanan da ake buƙata don ɗaukar sabis ɗin. Dangane da shi, maigidan yana ba da umarni ga zaɓaɓɓun minions (na'urorin da aka ƙera don sarrafa kwantena). Minions suna da wakilin mu, wanda ke karɓar umarni, yana ba da umarninsa ga Docker, kuma Docker yana saita kernel na Linux don ƙaddamar da kwandon da ya dace. Baya ga aiwatar da umarni, wakilin ya ci gaba da ba da rahoto ga maigidan game da canje-canje a yanayin injin minion da kwantena da ke gudana a kai.

Rarraba albarkatun

Yanzu bari mu dubi matsalar mafi hadaddun kasafta albarkatun ga yawa minions.

Kayan aikin kwamfuta a cikin girgije ɗaya shine:

  • Adadin ikon sarrafawa da wani takamaiman aiki ke cinyewa.
  • Adadin ƙwaƙwalwar ajiyar da ke akwai ga aikin.
  • zirga-zirgar hanyar sadarwa. Kowane minions yana da ƙayyadaddun ƙayyadaddun hanyar sadarwa tare da iyakanceccen bandwidth, don haka ba shi yiwuwa a rarraba ayyuka ba tare da la'akari da adadin bayanan da suke watsawa akan hanyar sadarwa ba.
  • Disks. Bugu da ƙari, a fili, ga sararin samaniya don waɗannan ayyuka, muna kuma rarraba nau'in faifai: HDD ko SSD. Disks na iya yin amfani da iyakacin adadin buƙatun daƙiƙa guda - IOPS. Don haka, don ayyukan da ke samar da ƙarin IOPS fiye da faifai guda ɗaya, muna kuma ware “spindles” - wato, na'urorin diski waɗanda dole ne a keɓance su kawai don aikin.

Sa'an nan don wasu sabis, misali ga mai amfani-cache, za mu iya rikodin cinye albarkatun ta wannan hanya: 400 processor cores, 2,5 TB na memory, 50 Gbit/s zirga-zirga a cikin biyu kwatance, 6 TB na HDD sarari a kan 100 spindles. Ko kuma a cikin wani sanannen tsari kamar haka:

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

Abubuwan sabis na cache mai amfani suna cinye kaso ɗaya kawai na duk albarkatun da ake da su a cikin abubuwan samarwa. Saboda haka, ina so in tabbatar da cewa ba zato ba tsammani, saboda kuskuren mai aiki ko a'a, cache mai amfani ba ya cinye albarkatu fiye da yadda aka keɓe shi. Wato dole ne mu iyakance albarkatun. Amma me za mu iya ƙulla rabon?

Bari mu koma ga ƙayyadaddun ƙayyadaddun ƙayyadaddun tsarin mu'amalar abubuwan haɗin gwiwa kuma mu sake zana shi da ƙarin cikakkun bayanai - kamar haka:

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Abin da ya kama idon ku:

  • Gaban gidan yanar gizo da kiɗa suna amfani da keɓantattun gungu na sabar aikace-aikacen iri ɗaya.
  • Za mu iya bambance ginshiƙai masu ma'ana waɗanda waɗannan gungu suka kasance zuwa gare su: gaba, caches, ajiyar bayanai da Layer na gudanarwa.
  • Gaban gaba yana da ban sha'awa; ya ƙunshi ƙananan tsarin aiki daban-daban.
  • Hakanan za'a iya warwatse caches a cikin tsarin tsarin da suke adana bayanansu.

Bari mu sake zana hoton:

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Ba! Ee, muna ganin matsayi! Wannan yana nufin cewa zaku iya rarraba albarkatu cikin manyan gungu: sanya madaidaicin mai haɓakawa zuwa kumburin wannan matsayi wanda ya dace da tsarin tsarin aiki (kamar "kiɗa" a cikin hoton), kuma haɗa ƙididdiga zuwa matakin wannan matsayi. Wannan matsayi kuma yana ba mu damar tsara ayyuka cikin sassauƙa don sauƙin gudanarwa. Misali, muna rarraba duk gidan yanar gizon, tunda wannan babban rukunin sabobin ne, zuwa ƙananan ƙungiyoyi masu yawa, waɗanda aka nuna a cikin hoto azaman rukuni1, rukuni2.

Ta hanyar cire ƙarin layukan, za mu iya rubuta kowane kulli na hotonmu a cikin tsari mai faɗi: group1.web.gaba, api.music.gaba, mai amfani-cache.cache.

Wannan shi ne yadda muka zo ga manufar "Hirarchical queue". Yana da suna kamar "group1.web.front". An ba da keɓaɓɓen keɓaɓɓen albarkatu da haƙƙin mai amfani gare shi. Za mu ba mutumin daga DevOps haƙƙin aika sabis zuwa jerin gwano, kuma irin wannan ma'aikaci zai iya ƙaddamar da wani abu a cikin jerin gwanon, kuma mutumin OpsDev zai sami haƙƙin admin, kuma yanzu yana iya sarrafa jerin gwano, sanya mutane a can, ba wa waɗannan mutane haƙƙoƙi, da sauransu. Ayyukan da ke gudana a kan wannan jerin gwano za su yi aiki a cikin kewayon layin. Idan adadin lissafin layin bai isa ya aiwatar da duk ayyuka a lokaci ɗaya ba, to za a aiwatar da su bi da bi, ta haka za su samar da layin kanta.

Bari mu dubi ayyukan. Sabis yana da cikakken suna, wanda koyaushe ya haɗa da sunan jerin gwano. Sannan sabis ɗin gidan yanar gizo na gaba zai sami sunan ok-web.group1.web.gaba. Kuma sabis ɗin uwar garken aikace-aikacen da yake shiga za a kira shi ok-app.group1.web.gaba. Kowane sabis yana da bayyananniyar, wanda ke ƙayyade duk mahimman bayanai don sanyawa akan takamaiman injuna: nawa albarkatun da wannan aikin ke cinyewa, menene tsarin da ake buƙata don shi, nawa kwafi nawa yakamata ya kasance, kaddarorin don magance gazawar wannan sabis ɗin. Kuma bayan an sanya sabis ɗin kai tsaye akan na'urori, al'amuran sa suna bayyana. Hakanan ana kiran su babu shakka - azaman lambar misali da sunan sabis: 1.ok-web.group1.web.front, 2.ok-web.group1.web.gaba,…

Wannan ya dace sosai: ta hanyar kallon kawai sunan kwandon mai gudana, za mu iya gano da yawa nan da nan.

Yanzu bari mu dubi abin da waɗannan al'amuran ke yi a zahiri: ayyuka.

Darussan Ware Aiki

Dukkan ayyuka a Ok (kuma, mai yiwuwa, ko'ina) ana iya raba su zuwa ƙungiyoyi:

  • Short Latency Tasks - prod. Don irin waɗannan ayyuka da ayyuka, jinkirin amsawa (latency) yana da matukar mahimmanci, yadda sauri za a sarrafa kowane buƙatun ta tsarin. Misalan ayyuka: gaban yanar gizo, caches, sabobin aikace-aikace, ma'ajin OLTP, da sauransu.
  • Matsalolin lissafi - tsari. Anan, saurin aiki na kowane takamaiman buƙatu ba shi da mahimmanci. A gare su, yana da mahimmanci nawa lissafin wannan aikin zai yi a cikin wani ɗan lokaci (dogon) lokaci (fitarwa). Waɗannan zasu zama kowane ɗawainiya na MapReduce, Hadoop, koyon inji, ƙididdiga.
  • Ayyukan bango - marasa aiki. Don irin waɗannan ayyuka, ba latency ko kayan aiki ba ne mai mahimmanci. Wannan ya haɗa da gwaje-gwaje daban-daban, ƙaura, ƙididdigewa, da jujjuya bayanai daga wannan tsari zuwa wani. A gefe guda, suna kama da waɗanda aka ƙididdige su, a gefe guda, ba kome ba ne a gare mu da sauri yadda aka kammala su.

Bari mu ga yadda irin waɗannan ayyuka ke cinye albarkatu, misali, na'ura mai sarrafawa ta tsakiya.

Gajeren ayyuka na jinkiri. Irin wannan aikin zai sami tsarin amfani da CPU kamar haka:

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Ana karɓar buƙatun mai amfani don sarrafawa, aikin ya fara amfani da duk abubuwan da ke akwai na CPU, aiwatar da shi, dawo da amsa, jira buƙatu na gaba kuma yana tsayawa. Buƙatar ta gaba ta isa - kuma mun zaɓi duk abin da ke can, mun ƙididdige shi, kuma muna jiran na gaba.

Don tabbatar da mafi ƙarancin latency don irin wannan ɗawainiya, dole ne mu ɗauki iyakar albarkatun da yake cinyewa kuma mu adana adadin da ake buƙata na mashin akan minion (na'urar da za ta aiwatar da aikin). Sannan tsarin tanadin matsalar mu zai kasance kamar haka:

alloc: cpu = 4 (max)

Kuma idan muna da na'urar ɗan karamin abinci tare da madaidaitan 16, to, za a iya sanya irin waɗannan ayyuka huɗu. Mun lura da cewa matsakaicin matsakaicin amfani da na'ura na irin waɗannan ayyuka sau da yawa yana da ƙasa sosai - wanda a bayyane yake, tun da wani muhimmin sashi na lokacin aikin yana jiran buƙata kuma bai yi komai ba.

Ayyukan lissafin. Tsarin su zai ɗan bambanta:

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Matsakaicin amfani da albarkatun CPU don irin waɗannan ayyuka yana da yawa sosai. Sau da yawa muna son aikin lissafin ya kammala cikin ƙayyadaddun lokaci, don haka muna buƙatar tanadin mafi ƙarancin adadin na'urori masu sarrafawa ta yadda za a kammala lissafin gabaɗaya a cikin lokaci mai karɓuwa. Tsarin ajiyarsa zai yi kama da haka:

alloc: cpu = [1,*)

"Don Allah a sanya shi a kan wani minion inda akwai aƙalla sigar kyauta ɗaya, sa'an nan kuma duk abin da akwai, zai cinye komai."

Anan ingancin amfani ya riga ya fi kyau akan ayyuka tare da ɗan gajeren jinkiri. Amma riba zai fi girma idan kun haɗa nau'ikan ayyuka guda biyu akan injin minion guda ɗaya kuma ku rarraba albarkatun sa akan tafiya. Lokacin da aiki tare da ɗan gajeren jinkiri yana buƙatar na'ura mai sarrafawa, yana karɓar shi nan da nan, kuma lokacin da aka daina buƙatar albarkatun, an canza su zuwa aikin lissafi, watau wani abu kamar haka:

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Amma ta yaya za a yi hakan?

Da farko, bari mu kalli prod da alloc ɗinsa: cpu = 4. Muna buƙatar ajiye muryoyi huɗu. A cikin Docker gudu ana iya yin wannan ta hanyoyi biyu:

  • Amfani da zaɓi --cpuset=1-4, I.e. Sata raba takamaiman cores a kan injin zuwa aikin.
  • Amfani --cpuquota=400_000 --cpuperiod=100_000, ba da adadin adadin lokacin sarrafawa, watau nuna cewa kowane 100 ms na ainihin lokacin aikin bai wuce 400 ms na lokacin sarrafawa ba. Ana samun guda huɗu iri ɗaya.

Amma wanne daga cikin waɗannan hanyoyin ya dace?

cpuset yayi kyau sosai. Aikin yana da nau'o'i hudu na sadaukarwa, wanda ke nufin cewa caches na processor zai yi aiki yadda ya kamata. Wannan kuma yana da rauni: dole ne mu ɗauki aikin rarraba ƙididdiga a cikin abubuwan da aka sauke na injin maimakon OS, kuma wannan aiki ne mara nauyi, musamman idan muka yi ƙoƙarin sanya ayyukan batch akan irin wannan. inji. Gwaje-gwaje sun nuna cewa zaɓi tare da ƙididdiga ya fi dacewa a nan: ta wannan hanyar tsarin aiki yana da ƙarin 'yanci don zaɓar ainihin don aiwatar da aikin a halin yanzu kuma ana rarraba lokacin sarrafawa da kyau.

Bari mu gano yadda ake yin ajiyar kuɗi a Docker bisa mafi ƙarancin adadin ƙira. Ƙididdigar ayyukan batch ba ta da amfani, saboda babu buƙatar iyakance iyakar, ya isa kawai tabbatar da mafi ƙarancin. Kuma a nan zaɓin ya dace da kyau docker run --cpushares.

Mun yarda cewa idan tsari yana buƙatar garanti don aƙalla cibiya ɗaya, to mun nuna --cpushares=1024, kuma idan akwai akalla nau'i biyu, to, mun nuna --cpushares=2048. Hannun jarin CPU ba sa tsoma baki ta kowace hanya tare da rarraba lokacin sarrafawa muddin akwai isasshen sa. Don haka, idan ba a halin yanzu prod yana amfani da duk nau'ikan nau'ikan sa guda huɗu, babu wani abin da zai iyakance ayyukan batch, kuma suna iya amfani da ƙarin lokacin sarrafawa. Amma a halin da ake ciki da karancin na’urori masu sarrafa masarufi, idan har prod ya cinye dukkan cores dinsa guda hudu ya kai ga adadinsa, sauran lokacin na’urar za a raba daidai da cpushares, watau a yanayi na cores uku kyauta, daya zai kasance. An ba da wani aiki tare da 1024 cpushares, kuma sauran biyun za a ba su aiki tare da 2048 cpushares.

Amma yin amfani da ƙididdiga da hannun jari bai isa ba. Muna buƙatar tabbatar da cewa aiki tare da ɗan gajeren jinkiri yana karɓar fifiko akan aikin batch lokacin rarraba lokacin sarrafawa. Ba tare da irin wannan fifikon ba, aikin batch zai ɗauki duk lokacin sarrafawa a daidai lokacin da abin ke buƙata. Babu zaɓuɓɓukan fifikon kwantena a cikin Docker gudu, amma manufofin tsara tsarin CPU na Linux sun zo da amfani. Kuna iya karanta game da su daki-daki a nan, kuma a cikin tsarin wannan labarin za mu ci gaba da su a takaice:

  • SCHED_OTHER
    Ta hanyar tsoho, duk tsarin mai amfani na yau da kullun akan injin Linux yana karɓa.
  • SCHED_BATCH
    An ƙirƙira don matakai masu ƙarfi na albarkatu. Lokacin sanya ɗawainiya a kan na'ura mai sarrafawa, ana gabatar da abin da ake kira hukuncin kunnawa: irin wannan aikin ba shi da yuwuwar samun albarkatun sarrafawa idan a halin yanzu ana amfani da shi ta hanyar aiki tare da SCHED_OTHER
  • SCHED_IDLE
    Tsarin baya tare da ƙarancin fifiko, ko da ƙasa da kyau -19. Muna amfani da ɗakin karatu na buɗe tushen mu daya-nio, domin saita manufar da ake bukata lokacin fara akwati ta kira

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

Amma ko da ba ku shirya a Java ba, ana iya yin abu iri ɗaya ta amfani da umarnin chrt:

chrt -i 0 $pid

Bari mu taƙaita duk matakan keɓantawar mu cikin tebur ɗaya don bayyanawa:

Ajin rufi
Misalin Alloc
Zaɓuɓɓukan gudanar da Docker
scheduler chrt*

Prod
cpu = 4
--cpuquota=400000 --cpuperiod=100000
SCHED_OTHER

Batch
CPU = [1,*)
--cpushares=1024
SCHED_BATCH

malalaci
CPU= [2,*)
--cpushares=2048
SCHED_IDLE

* Idan kuna yin chrt daga cikin akwati, kuna iya buƙatar ƙarfin sys_nice, saboda ta tsohuwa Docker yana cire wannan damar lokacin fara akwati.

Amma ayyuka suna cinye ba kawai na'ura ba, har ma da zirga-zirga, wanda ke rinjayar latency na aikin cibiyar sadarwa fiye da yadda ba daidai ba na kayan sarrafawa. Saboda haka, a zahiri muna son samun ainihin hoto iri ɗaya don zirga-zirga. Wato, lokacin da aikin samfur ya aika wasu fakiti zuwa cibiyar sadarwa, muna iyakance iyakar gudu (formula alloc: lan = [*,500mbps) ), da wanda prod zai iya yin haka. Kuma ga tsari muna bada garantin kawai mafi ƙarancin kayan aiki, amma kar a iyakance matsakaicin (formula alloc: lan = [10Mbps,*) ) A wannan yanayin, zirga-zirgar ababen hawa yakamata su sami fifiko akan ayyukan batch.
Anan Docker ba shi da wasu abubuwan da za mu iya amfani da su. Amma ya zo ga taimakonmu Linux Traffic Control. Mun sami damar cimma sakamakon da ake so tare da taimakon horo Lanƙwan Sabis na Baƙi na Hierarchical. Tare da taimakonsa, muna bambance nau'ikan zirga-zirgar ababen hawa biyu: babban fifiko mai fifiko da ƙaramin fifikon tsari/rago. Sakamakon haka, tsarin zirga-zirgar ababen hawa kamar haka:

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

anan 1:0 shine “tushen qdisc” na horon hsfc; 1: 1 - hsfc yaro aji tare da jimlar bandwidth iyaka na 8 Gbit / s, a karkashin abin da yara azuzuwan duk kwantena; 1:2 - aji na hsfc na gama gari ne ga duk ayyuka da ayyuka marasa aiki tare da iyaka “tsari”, wanda aka tattauna a ƙasa. Sauran azuzuwan yara na hsfc an sadaukar da azuzuwan don a halin yanzu ana gudanar da kwantena masu iyaka tare da iyakoki daidai da bayyanar su - 450 da 400 Mbit/s. Kowane ajin hsfc ana sanya layin qdisc fq ko fq_codel, dangane da nau'in kernel na Linux, don guje wa asarar fakiti yayin fashewar zirga-zirga.

Yawanci, lamuran tc suna ba da fifiko ga zirga-zirga masu fita kawai. Amma muna son ba da fifikon zirga-zirgar zirga-zirgar da ke shigowa ma - bayan haka, wasu ayyukan batch na iya zaɓar tashar mai shigowa cikin sauƙi, karɓar, misali, babban rukunin shigar da bayanai don taswira&raguwa. Don wannan muna amfani da module ifb, wanda ke haifar da ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun hanyoyin sadarwa na kowane cibiyar sadarwa da kuma karkatar da zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar ababen hawa a kan ifbX. Bugu da ari, don ifbX, duk fannoni iri ɗaya suna aiki don sarrafa zirga-zirgar zirga-zirga, wanda tsarin hsfc zai yi kama da haka:

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Yayin gwaje-gwajen, mun gano cewa hsfc yana nuna sakamako mafi kyau lokacin da 1:2 aji na batch/mafificin zirga-zirgar ababen hawa ke iyakance akan injinan minion zuwa wani yanki na kyauta. In ba haka ba, zirga-zirgar da ba ta da fifiko tana da tasiri da yawa akan lattin ayyukan samfur. miniond yana ƙayyade adadin bandwidth kyauta na yanzu kowane daƙiƙa, yana auna matsakaicin yawan zirga-zirgar duk ayyukan samarwa na wani ɗan ƙaramin ɗan adam. Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki da kuma cire shi daga bandwidth interface na cibiyar sadarwa Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki tare da ƙaramin gefe, watau.

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

An ayyana makada daban-daban don zirga-zirga masu shigowa da masu fita. Kuma bisa ga sabbin dabi'u, miniond yana sake saita iyakar aji mara fifiko 1:2.

Don haka, mun aiwatar da duka azuzuwan keɓewa guda uku: prod, batch da rago. Waɗannan azuzuwan suna tasiri sosai da halayen ayyuka. Don haka ne muka yanke shawarar sanya wannan sifa a saman kololuwar matsayi, ta yadda idan aka kalli sunan jerin gwano za a gane abin da muke yi da shi nan take:

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Duk abokanmu web и music sai a sanya gaba a cikin matsayi a ƙarƙashin prod. Misali, a karkashin tsari, bari mu sanya sabis ɗin kundin kiɗa, wanda lokaci-lokaci yana tattara kundin waƙoƙi daga saitin fayilolin mp3 da aka ɗora zuwa Odnoklassniki. Misalin sabis a ƙarƙashin zaman banza zai kasance mai canza waƙa, wanda ke daidaita matakin ƙarar kiɗan.

Tare da ƙarin layukan da aka cire, za mu iya rubuta sunayen sabis ɗin mu da kyau ta ƙara ajin keɓe ɗawainiya zuwa ƙarshen cikakken sunan sabis: yanar gizo.front.samfurin, catalog.music.batch, transformer.music.rago.

Kuma yanzu, duban sunan sabis ɗin, mun fahimci ba kawai menene aikin da yake yi ba, har ma ajin keɓenta, wanda ke nufin mahimmancinta, da sauransu.

Komai yana da girma, amma akwai gaskiya guda ɗaya mai ɗaci. Ba shi yiwuwa a ware gaba ɗaya ayyukan da ke gudana akan na'ura ɗaya.

Abin da muka yi nasarar cimma: idan tsari yana cinyewa sosai kawai Albarkatun CPU, sannan ginannen tsarin tsarin CPU na Linux yana yin aikinsa sosai, kuma kusan babu wani tasiri akan aikin samarwa. Amma idan wannan aikin batch ya fara aiki tare da ƙwaƙwalwar ajiya, to, tasirin juna ya riga ya bayyana. Wannan yana faruwa ne saboda aikin samfurin yana "wanke" daga ma'ajin ƙwaƙwalwar na'ura - a sakamakon haka, cache ya ɓace karuwa, kuma mai sarrafawa yana tafiyar da aikin samfurin a hankali. Irin wannan aikin batch na iya ƙara latency na kwandon samfuran mu na yau da kullun da kashi 10%.

Ware zirga-zirga ya fi wahala saboda gaskiyar cewa katunan sadarwar zamani suna da jerin fakiti na ciki. Idan fakitin daga aikin batch ya fara zuwa can, to, zai zama na farko da za a watsa akan kebul ɗin, kuma ba za a iya yin komai game da shi ba.

Bugu da ƙari, ya zuwa yanzu mun sami nasarar magance matsalar fifikon zirga-zirgar TCP: hanyar hsfc ba ta aiki ga UDP. Kuma ko da a cikin yanayin zirga-zirgar TCP, idan aikin batch ya haifar da yawan zirga-zirga, wannan kuma yana ba da kusan 10% karuwa a cikin jinkirin aikin samfurin.

hakuri da laifi

Ɗaya daga cikin manufofin lokacin haɓaka girgije ɗaya shine haɓaka haƙurin kuskure na Odnoklassniki. Saboda haka, na gaba zan so in yi la'akari dalla-dalla dalla-dalla yiwuwar yanayin kasawa da haɗari. Bari mu fara da labari mai sauƙi - gazawar akwati.

Kwandon kanta na iya kasawa ta hanyoyi da yawa. Wannan na iya zama wani nau'i na gwaji, kwaro ko kuskure a cikin bayyani, saboda abin da aikin samfurin ya fara cin albarkatu fiye da yadda aka nuna a cikin bayyani. Muna da shari'a: mai haɓakawa ya aiwatar da hadadden algorithm guda ɗaya, ya sake yin shi sau da yawa, yayi tunanin kansa kuma ya rikice har a ƙarshe matsalar ta shiga cikin hanyar da ba ta da mahimmanci. Kuma tunda aikin samfurin yana da fifiko mafi girma fiye da duk sauran akan minions iri ɗaya, ya fara cinye duk albarkatun mai sarrafawa. A cikin wannan yanayin, keɓewa, ko madaidaicin adadin lokacin CPU, ya ceci ranar. Idan an kasafta wani aiki ragi, aikin ba zai kara cinyewa ba. Don haka, batch da sauran ayyukan samar da kayan aiki waɗanda ke gudana akan injin guda ba su lura da komai ba.

Matsala ta biyu mai yiwuwa ita ce faɗuwar kwantena. Kuma a nan sake kunna manufofin ku cece mu, kowa ya san su, Docker kanta yana yin babban aiki. Kusan duk ayyukan samarwa suna da manufar sake farawa koyaushe. Wani lokaci muna amfani da on_failure don ayyukan batch ko don gyara kwantena na samfur.

Me za ku iya yi idan ba a samu gabaɗayan minion ba?

Babu shakka, gudanar da kwandon akan wata na'ura. Bangaren ban sha'awa anan shine abin da ke faruwa da adireshin IP (s) da aka sanya wa akwati.

Za mu iya sanya kwantena adiresoshin IP iri ɗaya kamar injinan minion waɗanda waɗannan kwantena ke gudana akan su. Bayan haka, lokacin da aka ƙaddamar da kwantena akan wata na'ura, adireshin IP ɗin sa yana canzawa, kuma duk abokan ciniki dole ne su fahimci cewa kwandon ya motsa, kuma yanzu suna buƙatar zuwa wani adireshin daban, wanda ke buƙatar sabis na gano sabis na daban.

Gano Sabis ya dace. Akwai mafita da yawa akan kasuwa na nau'ikan haƙurin kuskure daban-daban don tsara rajistar sabis. Sau da yawa irin waɗannan mafita suna aiwatar da ma'aunin ma'aunin nauyi, adana ƙarin sanyi a cikin nau'in ajiyar KV, da sauransu.
Duk da haka, muna so mu guje wa buƙatar aiwatar da rajista na daban, saboda wannan yana nufin ƙaddamar da tsarin mahimmanci wanda duk ayyuka ke amfani da su a cikin samarwa. Wannan yana nufin cewa wannan shine yuwuwar gazawar, kuma kuna buƙatar zaɓar ko haɓaka mafita mai jurewa da kuskure, wanda a bayyane yake yana da wahala, mai ɗaukar lokaci da tsada.

Kuma ƙarin babban koma baya: domin tsoffin kayan aikin mu suyi aiki tare da sabon, dole ne mu sake rubuta dukkan ayyuka don amfani da wani nau'in tsarin Gano Sabis. Akwai ayyuka da yawa, kuma a wasu wurare kusan ba zai yuwu ba idan ana batun ƙananan na'urori waɗanda ke aiki a matakin kernel OS ko kai tsaye tare da kayan aikin. Aiwatar da wannan aikin ta amfani da kafaffen tsarin mafita, kamar mota gefe yana nufin a wasu wurare ƙarin kaya, a wasu - rikitarwa na aiki da ƙarin yanayin rashin nasara. Ba mu so mu dagula abubuwa ba, don haka mun yanke shawarar yin amfani da Gano Sabis na zaɓi.

A cikin girgije ɗaya, IP yana biye da akwati, watau kowane misali na aiki yana da adireshin IP na kansa. Wannan adireshin “a tsaye” ne: ana sanya shi ga kowane misali lokacin da aka fara aika sabis ɗin zuwa gajimare. Idan sabis ɗin yana da adadin lokuta daban-daban yayin rayuwarsa, to a ƙarshe za a sanya shi a matsayin adiresoshin IP da yawa kamar yadda akwai mafi girman lokuta.

Daga bisani, waɗannan adiresoshin ba su canzawa: an sanya su sau ɗaya kuma suna ci gaba da kasancewa a duk tsawon rayuwar sabis a cikin samarwa. Adireshin IP suna bin kwantena a fadin hanyar sadarwa. Idan an canza akwati zuwa wani minion, to adireshin zai bi shi.

Don haka, taswirar sunan sabis zuwa jerin adiresoshin IP ɗin sa yana canzawa da wuya. Idan ka sake duba sunayen misalan hidima da muka ambata a farkon labarin (1.ok-web.group1.web.front.prod, 2.ok-web.group1.web.front.prod, …), za mu lura cewa sun yi kama da FQDNs da ake amfani da su a cikin DNS. Wannan daidai ne, don taswirar sunayen misalan sabis zuwa adiresoshin IP ɗin su, muna amfani da ka'idar DNS. Haka kuma, wannan DNS yana mayar da duk adiresoshin IP da aka tanada na duk kwantena - duka suna gudana kuma sun tsaya (bari mu ce ana amfani da kwafi uku, kuma muna da adireshi biyar da aka tanada a wurin - duk biyar za a dawo dasu). Abokan ciniki, bayan sun karɓi wannan bayanin, za su yi ƙoƙarin kafa haɗin gwiwa tare da duk kwafi biyar - don haka tantance waɗanda ke aiki. Wannan zaɓi don tantance samuwa ya fi abin dogaro; bai ƙunshi ko dai DNS ko Gano Sabis ba, wanda ke nufin babu matsaloli masu wuyar warwarewa wajen tabbatar da dacewar bayanai da rashin haƙuri na waɗannan tsarin. Haka kuma, a cikin ayyuka masu mahimmanci waɗanda aikin gabaɗayan tashar ya dogara, ba za mu iya amfani da DNS kwata-kwata ba, amma kawai shigar da adiresoshin IP a cikin saitin.

Aiwatar da irin wannan canja wurin IP a bayan kwantena na iya zama maras muhimmanci - kuma za mu kalli yadda yake aiki tare da misali mai zuwa:

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Bari mu ce maigidan girgije ɗaya ya ba da umarni ga minion M1 don gudu 1.ok-web.group1.web.front.samfurin tare da adireshin 1.1.1.1. Yana aiki a kan minion Tsuntsu, wanda ke tallata wannan adireshin zuwa sabobin na musamman hanya reflector. Ƙarshen suna da zaman BGP tare da kayan aikin cibiyar sadarwa, wanda aka fassara hanyar adireshin 1.1.1.1 akan M1. Fakitin hanyoyin M1 a cikin akwati ta amfani da Linux. Akwai sabar mai nuna hanya guda uku, tunda wannan muhimmin bangare ne na kayan aikin girgije ɗaya - ba tare da su ba, hanyar sadarwa a cikin girgije ɗaya ba zata yi aiki ba. Muna sanya su a cikin akwatuna daban-daban, idan zai yiwu a cikin dakuna daban-daban na cibiyar bayanai, don rage yiwuwar duk ukun sun gaza a lokaci guda.

Yanzu bari mu ɗauka cewa haɗin tsakanin maigidan girgije ɗaya da M1 minion ya ɓace. Maigidan girgije ɗaya yanzu zai yi aiki akan tunanin cewa M1 ya gaza gaba ɗaya. Wato, zai ba da umarni ga M2 minion don ƙaddamar da shi web.group1.web.front.prod tare da wannan adireshin 1.1.1.1. Yanzu muna da hanyoyi guda biyu masu cin karo da juna akan hanyar sadarwa don 1.1.1.1: akan M1 da M2. Domin warware irin waɗannan rikice-rikice, muna amfani da Multi Exit Discriminator, wanda aka ƙayyade a cikin sanarwar BGP. Wannan lamba ce da ke nuna nauyin hanyar da aka yi talla. Daga cikin hanyoyin da ke karo da juna, za a zaɓi hanyar da ƙananan ƙimar MED. Maigidan girgije ɗaya yana goyan bayan MED a matsayin sashe mai mahimmanci na adiresoshin IP na akwati. A karo na farko, an rubuta adireshin tare da babban MED = 1. A halin da ake ciki na irin wannan canja wurin kwantena na gaggawa, maigidan ya rage MED, kuma M000 zai riga ya karbi umarni don tallata adireshin 000 tare da MED = 2. Misalin da ke gudana akan M1.1.1.1 zai kasance a wannan yanayin babu wata alaƙa, kuma makomarsa ta ƙara mana kadan har sai an dawo da haɗin kai da maigidan, lokacin da za a dakatar da shi kamar tsohon ɗauka.

hadurra

Duk tsarin sarrafa cibiyar bayanai koyaushe suna ɗaukar ƙananan gazawa a yarda. ambaton kwantena shine al'ada kusan ko'ina.

Bari mu kalli yadda muke magance gaggawa, kamar gazawar wutar lantarki a ɗaya ko fiye da dakuna na cibiyar bayanai.

Menene ma'anar haɗari ga tsarin sarrafa cibiyar bayanai? Da farko, wannan babban gazawar lokaci ɗaya ne na injuna da yawa, kuma tsarin kulawa yana buƙatar ƙaura da kwantena da yawa a lokaci guda. Amma idan bala'i ya yi girma sosai, to yana iya faruwa cewa duk ayyuka ba za a iya sake raba su ga sauran ma'aikatan ba, saboda ƙarfin albarkatun cibiyar bayanai ya faɗi ƙasa da 100% na kaya.

Sau da yawa hatsarori suna tare da gazawar Layer na sarrafawa. Hakan na iya faruwa ne saboda gazawar kayan aikinta, amma galibi saboda ba a gwada hatsarurrukan da ke faruwa ba, kuma ma’aunin sarrafa kansa ya faɗi saboda ƙarin nauyi.

Me za ku iya yi game da wannan duka?

Ƙaurawar jama'a na nufin cewa akwai ayyuka da yawa, ƙaura, da turawa da ke faruwa a cikin ababen more rayuwa. Kowane ƙaura na iya ɗaukar ɗan lokaci da ake buƙata don isar da buɗaɗɗen hotuna na kwantena zuwa ga minions, ƙaddamarwa da fara kwantena, da sauransu. Saboda haka, yana da kyawawa cewa an ƙaddamar da ƙarin ayyuka masu mahimmanci kafin waɗanda ba su da mahimmanci.

Bari mu sake duba tsarin ayyukan da muka saba da su kuma mu yi ƙoƙarin yanke shawarar ayyukan da muke son fara aiwatarwa.

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Tabbas, waɗannan su ne hanyoyin da ke da hannu kai tsaye wajen sarrafa buƙatun masu amfani, watau prod. Mun nuna wannan tare da fifikon sanyawa - lambar da za a iya sanyawa ga jerin gwano. Idan jerin gwano yana da fifiko mafi girma, ana fara sanya ayyukan sa a farko.

A kan samfurin muna ba da fifiko mafi girma, 0; a kan tsari - kadan kadan, 100; a kan rago - ko da ƙasa, 200. Ana amfani da abubuwan da aka fi so a matsayi. Duk ayyukan da ke ƙasa a cikin matsayi za su sami fifiko daidai. Idan muna son a kaddamar da caches a cikin prod kafin a fara gaba, to, muna ba da fifiko ga cache = 0 da kuma zuwa gaban subqueues = 1. Idan, alal misali, muna so a fara kaddamar da babban tashar ta gaba daga gaba, kuma gaban kiɗa kawai. sa'an nan, sa'an nan za mu iya sanya ƙananan fifiko ga na ƙarshe - 10.

Matsala ta gaba ita ce rashin kayan aiki. Don haka, kayan aiki masu yawa, duka ɗakunan dakunan dakunan bayanai, sun gaza, kuma mun sake buɗe ayyuka da yawa wanda yanzu babu isassun kayan aiki ga kowa da kowa. Kuna buƙatar yanke shawarar ayyukan da za ku sadaukar don ci gaba da gudanar da manyan ayyuka masu mahimmanci.

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Ba kamar fifikon sanyawa ba, ba za mu iya sadaukar da duk ayyukan batch ba tare da nuna bambanci ba; wasu daga cikinsu suna da mahimmanci ga aikin tashar. Saboda haka, mun yi alama daban preemption fifiko ayyuka. Lokacin da aka sanya shi, aikin fifiko mafi girma zai iya ƙaddamarwa, watau tsayawa, ƙaramin fifikon fifiko idan babu ƙarin minions masu 'yanci. A wannan yanayin, aiki tare da ƙananan fifiko zai yiwu ya kasance ba a sanya shi ba, watau ba za a sake samun ma'aikacin da ya dace da shi tare da isasshen albarkatun kyauta ba.

A cikin tsarin mu, abu ne mai sauqi a fayyace fifikon fifiko kamar yadda ayyukan samarwa da batch su ke gabatowa ko dakatar da ayyukan banza, amma ba juna ba, ta hanyar ayyana fifiko ga rago daidai da 200. Kamar dai yadda a yanayin fifikon sanyawa, mu za mu iya amfani da tsarinmu don bayyana ƙarin hadaddun dokoki. Misali, bari mu nuna cewa muna sadaukar da aikin kiɗan idan ba mu da isassun albarkatu don babban tashar yanar gizon yanar gizon, saita fifiko ga ƙananan nodes masu dacewa: 10.

Duk hadurran DC

Me yasa gaba dayan cibiyar bayanai na iya kasawa? Abun ciki. Yayi kyau post guguwar ta shafi aikin cibiyar bayanai. Ana iya la'akari da abubuwan da ba su da matsuguni waɗanda suka taɓa ƙone na'urorin gani a cikin manifold, kuma cibiyar bayanan gaba ɗaya ta rasa hulɗa da sauran rukunin yanar gizon. Har ila yau, dalilin gazawar na iya zama wani abu na mutum: mai aiki zai ba da irin wannan umarni cewa duk cibiyar bayanai za ta fadi. Wannan na iya faruwa saboda babban kwaro. Gabaɗaya, rugujewar cibiyoyin bayanai ba sabon abu bane. Wannan yana faruwa da mu sau ɗaya a cikin 'yan watanni.

Kuma wannan shine abin da muke yi don hana kowa yin tweeting #alive.

Dabarar farko ita ce keɓewa. Kowane misali-girgije daya keɓe ne kuma yana iya sarrafa injuna a cibiyar bayanai guda ɗaya kawai. Wato asarar gajimare saboda kwari ko umarnin mai aiki da ba daidai ba shine asarar cibiyar bayanai guda ɗaya kawai. Mun shirya don wannan: muna da manufar sakewa wanda a ciki kwafin aikace-aikacen da bayanai ke cikin duk cibiyoyin bayanai. Muna amfani da ma'ajin bayanai masu jurewa da kuskure kuma muna gwada gazawa lokaci-lokaci.
Tunda a yau muna da cibiyoyin bayanai guda huɗu, ma'ana guda huɗu daban-daban, kwatankwacin yanayin girgije ɗaya.

Wannan hanyar ba kawai tana ba da kariya daga gazawar jiki ba, har ma tana iya karewa daga kuskuren mai aiki.

Me kuma za a iya yi da yanayin ɗan adam? Lokacin da ma'aikaci ya ba wa gajimaren wani bakon umarni ko mai yuwuwar haɗari, ana iya tambayarsa ba zato ba tsammani ya warware ƙaramar matsala don ganin yadda yake tunani. Misali, idan wannan wani nau'in taro ne na yawan kwafi ko kawai wani bakon umarni - rage adadin kwafi ko canza sunan hoton, kuma ba kawai lambar sigar a cikin sabon bayyani ba.

Daya-girgije - OS matakin cibiyar bayanai a Odnoklassniki

Sakamakon

Abubuwan ban mamaki na girgije ɗaya:

  • Tsari da tsarin sanya suna na gani don ayyuka da kwantena, wanda ke ba ka damar da sauri gano abin da aikin yake, abin da ya shafi da kuma yadda yake aiki da kuma wanda ke da alhakinsa.
  • Muna amfani da namu dabarar hada samfur- da batch-ayyuka a kan minions don inganta ingancin raba na'ura. Maimakon cpuset muna amfani da ƙimar CPU, hannun jari, manufofin CPU da Linux QoS.
  • Ba zai yiwu a ware gaba ɗaya kwantena masu aiki akan injin guda ɗaya ba, amma tasirin juna ya kasance cikin kashi 20%.
  • Tsara ayyuka a cikin matsayi yana taimakawa tare da dawo da bala'i ta atomatik ta amfani da sanyawa da fifikon fifiko.

FAQ

Me ya sa ba mu dauki wani shiri da aka yi ba?

  • Daban-daban na keɓewar ɗawainiya suna buƙatar dabaru daban-daban lokacin da aka sanya su akan minions. Idan ana iya sanya ayyukan samarwa ta hanyar tanadin albarkatu kawai, to dole ne a sanya batch da ayyuka marasa aiki, bin diddigin yadda ake amfani da albarkatu akan injuna.
  • Bukatar yin la'akari da albarkatun da ayyuka ke cinyewa, kamar:
    • bandwidth cibiyar sadarwa;
    • iri da "spindles" na faifai.
  • Bukatar nuna fifikon ayyuka yayin amsawar gaggawa, haƙƙoƙin da keɓaɓɓun umarni don albarkatu, waɗanda aka warware ta amfani da jerin gwano a cikin girgije ɗaya.
  • Bukatar samun sunan ɗan adam na kwantena don rage lokacin mayar da martani ga hatsarori da abubuwan da suka faru
  • Rashin rashin yiwuwar aiwatar da aikin Gano Sabis na lokaci ɗaya; buƙatar zama tare na dogon lokaci tare da ayyukan da aka shirya akan rundunan kayan aiki - wani abu da aka warware ta hanyar adiresoshin IP na "a tsaye" bayan kwantena, kuma, a sakamakon haka, buƙatar haɗin kai na musamman tare da babban kayan aikin cibiyar sadarwa.

Duk waɗannan ayyuka suna buƙatar gyare-gyare masu mahimmanci na hanyoyin da ake da su don dacewa da mu, kuma, bayan tantance adadin aikin, mun gane cewa za mu iya haɓaka namu mafita tare da kusan farashin aiki iri ɗaya. Amma maganin ku zai zama mafi sauƙi don aiki da haɓakawa - ba ya ƙunshi abubuwan da ba dole ba waɗanda ke tallafawa ayyukan da ba mu buƙata.

Ga waɗanda suka karanta layi na ƙarshe, na gode don haƙuri da kulawa!

source: www.habr.com

Add a comment