Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

Aloha, eniyan! Orukọ mi ni Oleg Anastasyev, Mo ṣiṣẹ ni Odnoklassniki ni ẹgbẹ Platform. Ati ni afikun si mi, ohun elo pupọ wa ti n ṣiṣẹ ni Odnoklassniki. A ni awọn ile-iṣẹ data mẹrin pẹlu awọn agbeko 500 pẹlu diẹ sii ju awọn olupin 8 ẹgbẹrun. Ni aaye kan, a rii pe iṣafihan eto iṣakoso tuntun yoo gba wa laaye lati ṣaja ohun elo daradara diẹ sii, dẹrọ iṣakoso wiwọle, adaṣe adaṣe (tun) pinpin awọn orisun iširo, mu ifilọlẹ awọn iṣẹ tuntun ṣiṣẹ, ati iyara awọn idahun si awọn ijamba nla.

Kini o wa ninu rẹ?

Yato si emi ati opo ohun elo, awọn eniyan tun wa ti o ṣiṣẹ pẹlu ohun elo yii: awọn onimọ-ẹrọ ti o wa taara ni awọn ile-iṣẹ data; awọn nẹtiwọki ti o ṣeto software nẹtiwọki; awọn alakoso, tabi awọn SRE, ti o pese atunṣe amayederun; ati awọn ẹgbẹ idagbasoke, ọkọọkan wọn jẹ iduro fun apakan ti awọn iṣẹ ọna abawọle. Sọfitiwia ti wọn ṣẹda ṣiṣẹ nkan bii eyi:

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

Awọn ibeere olumulo ni a gba mejeeji ni iwaju ti ẹnu-ọna akọkọ www.ok.ru, ati lori awọn miiran, fun apẹẹrẹ lori awọn iwaju API orin. Lati ṣe ilana ọgbọn iṣowo, wọn pe olupin ohun elo, eyiti, nigbati o ba n ṣiṣẹ ibeere naa, o pe awọn microservices amọja pataki - aworan kan (iyaworan ti awọn asopọ awujọ), kaṣe olumulo (kaṣe ti awọn profaili olumulo), ati bẹbẹ lọ.

Ọkọọkan ninu awọn iṣẹ wọnyi ti wa ni ransogun lori ọpọlọpọ awọn ero, ati kọọkan ti wọn ni o ni lodidi Difelopa lodidi fun awọn iṣẹ ti awọn modulu, wọn isẹ ati idagbasoke imo. Gbogbo awọn iṣẹ wọnyi nṣiṣẹ lori awọn olupin ohun elo, ati titi di aipẹ a ṣe ifilọlẹ iṣẹ-ṣiṣe kan pato fun olupin, ie o jẹ amọja fun iṣẹ-ṣiṣe kan pato.

Kini idii iyẹn? Ilana yii ni awọn anfani pupọ:

  • Itura ibi-isakoso. Jẹ ki a sọ pe iṣẹ-ṣiṣe kan nilo awọn ile-ikawe diẹ, diẹ ninu awọn eto. Ati lẹhinna olupin naa ti yan si ẹgbẹ kan pato, ilana cfengine fun ẹgbẹ yii jẹ apejuwe (tabi o ti ṣapejuwe tẹlẹ), ati pe iṣeto yii jẹ aarin ati yiyi laifọwọyi si gbogbo awọn olupin ni ẹgbẹ yii.
  • Rọrun awọn iwadii. Jẹ ki a sọ pe o wo ẹru ti o pọ si lori ero isise aarin ati rii pe ẹru yii le jẹ ipilẹṣẹ nipasẹ iṣẹ ṣiṣe ti o nṣiṣẹ lori ero isise ohun elo yii. Wiwa fun ẹnikan lati jẹbi pari ni kiakia.
  • Rọrun ibojuwo. Ti nkan kan ba jẹ aṣiṣe pẹlu olupin naa, atẹle naa ṣe ijabọ rẹ, ati pe o mọ gangan tani o jẹbi.

Iṣẹ kan ti o ni awọn ẹda pupọ ni a pin sọtọ awọn olupin pupọ - ọkan fun ọkọọkan. Lẹhinna awọn orisun iširo fun iṣẹ naa ni o rọrun pupọ: nọmba awọn olupin ti iṣẹ naa ni, iye ti o pọju awọn orisun ti o le jẹ. "Rọrun" nibi ko tumọ si pe o rọrun lati lo, ṣugbọn ni ori pe ipinnu awọn orisun ni a ṣe pẹlu ọwọ.

Ọna yii tun gba wa laaye lati ṣe specialized iron atunto fun iṣẹ kan nṣiṣẹ lori olupin yii. Ti iṣẹ-ṣiṣe naa ba tọju data lọpọlọpọ, lẹhinna a lo olupin 4U pẹlu ẹnjini pẹlu awọn disiki 38. Ti iṣẹ-ṣiṣe ba jẹ iṣiro nikan, lẹhinna a le ra olupin 1U ti o din owo. Eyi jẹ ṣiṣe iṣiro daradara. Lara awọn ohun miiran, ọna yii gba wa laaye lati lo awọn ẹrọ ti o dinku ni igba mẹrin pẹlu ẹru ti o ṣe afiwe si nẹtiwọọki awujọ ọrẹ kan.

Iru ṣiṣe bẹ ni lilo awọn ohun elo iširo yẹ ki o tun rii daju ṣiṣe eto-aje, ti a ba tẹsiwaju lati inu ipilẹ pe ohun ti o gbowolori julọ jẹ awọn olupin. Fun igba pipẹ, ohun elo jẹ gbowolori julọ, ati pe a fi ipa pupọ sinu idinku idiyele ohun elo, wiwa pẹlu awọn algoridimu ifarada ẹbi lati dinku awọn ibeere igbẹkẹle hardware. Ati loni a ti de ipele ti iye owo olupin ti dẹkun lati jẹ ipinnu. Ti o ko ba ṣe akiyesi awọn exotics tuntun, lẹhinna iṣeto ni pato ti awọn olupin ni agbeko ko ṣe pataki. Bayi a ni iṣoro miiran - idiyele aaye ti o wa nipasẹ olupin ni ile-iṣẹ data, iyẹn ni, aaye ninu agbeko.

Ní mímọ̀ pé èyí rí bẹ́ẹ̀, a pinnu láti ṣírò bí a ṣe ń lo àwọn àgbékọ́ náà dáadáa.
A gba idiyele ti olupin ti o lagbara julọ lati awọn idalare ti ọrọ-aje, ṣe iṣiro iye iru awọn olupin ti a le gbe sinu awọn agbeko, awọn iṣẹ-ṣiṣe melo ni a yoo ṣiṣẹ lori wọn da lori awoṣe atijọ “apèsè kan = iṣẹ-ṣiṣe kan” ati melo ni iru bẹ. Awọn iṣẹ-ṣiṣe le lo awọn ẹrọ. Wọn kà wọn si ta omije. O wa ni jade pe ṣiṣe wa ni lilo awọn agbeko jẹ nipa 11%. Ipari jẹ kedere: a nilo lati mu iṣẹ ṣiṣe ti lilo awọn ile-iṣẹ data pọ sii. O dabi pe ojutu jẹ kedere: o nilo lati ṣiṣe awọn iṣẹ-ṣiṣe pupọ lori olupin kan ni ẹẹkan. Ṣugbọn eyi ni ibi ti awọn iṣoro bẹrẹ.

Iṣeto ni ọpọ eniyan di idiju pupọ diẹ sii - ko ṣee ṣe ni bayi lati fi ẹgbẹ kan si olupin kan. Lẹhinna, ni bayi ọpọlọpọ awọn iṣẹ-ṣiṣe ti awọn ofin oriṣiriṣi le ṣe ifilọlẹ lori olupin kan. Ni afikun, iṣeto le jẹ rogbodiyan fun awọn ohun elo oriṣiriṣi. Aisan ayẹwo tun di idiju diẹ sii: ti o ba ri Sipiyu ti o pọ sii tabi agbara disk lori olupin kan, iwọ ko mọ iru iṣẹ-ṣiṣe ti nfa wahala.

Ṣugbọn ohun akọkọ ni pe ko si ipinya laarin awọn iṣẹ ṣiṣe ti nṣiṣẹ lori ẹrọ kanna. Nibi, fun apẹẹrẹ, jẹ ayaworan ti akoko idahun apapọ ti iṣẹ olupin ṣaaju ati lẹhin ifilọlẹ ohun elo iširo miiran lori olupin kanna, ni ọna ti ko ni ibatan si ọkan akọkọ - akoko idahun ti iṣẹ-ṣiṣe akọkọ ti pọ si ni pataki.

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

O han ni, o nilo lati ṣiṣe awọn iṣẹ-ṣiṣe boya ninu awọn apoti tabi ni awọn ẹrọ foju. Niwọn bi o ti fẹrẹ jẹ pe gbogbo awọn iṣẹ ṣiṣe wa labẹ OS kan (Lainos) tabi ti wa ni ibamu fun rẹ, a ko nilo lati ṣe atilẹyin ọpọlọpọ awọn ọna ṣiṣe oriṣiriṣi. Nitorinaa, a ko nilo agbara agbara; nitori afikun afikun, yoo jẹ aiṣiṣẹ diẹ sii ju ifipamọ.

Gẹgẹbi imuse awọn apoti fun ṣiṣe awọn iṣẹ ṣiṣe taara lori awọn olupin, Docker jẹ oludije to dara: awọn aworan eto faili yanju awọn iṣoro pẹlu awọn atunto rogbodiyan daradara. Otitọ pe awọn aworan le ni akopọ ti awọn fẹlẹfẹlẹ pupọ gba wa laaye lati dinku iye data ti o nilo lati fi wọn sori awọn amayederun, yiya sọtọ awọn ẹya ti o wọpọ sinu awọn ipele ipilẹ lọtọ. Lẹhinna awọn ipele ipilẹ (ati pupọ julọ) yoo wa ni ipamọ ni kiakia ni kiakia jakejado gbogbo awọn amayederun, ati lati fi ọpọlọpọ awọn oriṣiriṣi awọn ohun elo ati awọn ẹya ranṣẹ, awọn ipele kekere nikan yoo nilo lati gbe.

Pẹlupẹlu, iforukọsilẹ ti o ti ṣetan ati fifi aami si aworan ni Docker fun wa ni awọn ipilẹṣẹ ti a ti ṣetan fun ti ikede ati fifi koodu ranṣẹ si iṣelọpọ.

Docker, bii eyikeyi imọ-ẹrọ ti o jọra, pese wa pẹlu ipele diẹ ninu ipinya eiyan kuro ninu apoti. Fun apẹẹrẹ, ipinya iranti - apoti kọọkan ni a fun ni opin lori lilo iranti ẹrọ, kọja eyiti kii yoo jẹ. O tun le ya sọtọ awọn apoti ti o da lori lilo Sipiyu. Fun wa, sibẹsibẹ, idabobo boṣewa ko to. Ṣugbọn diẹ sii lori iyẹn ni isalẹ.

Awọn apoti ṣiṣiṣẹ taara lori olupin jẹ apakan nikan ti iṣoro naa. Apa miiran jẹ ibatan si awọn apoti alejo gbigba lori awọn olupin. O nilo lati ni oye iru eiyan le gbe sori olupin wo. Eyi kii ṣe iru iṣẹ ti o rọrun, nitori awọn apoti nilo lati gbe sori awọn olupin ni iwuwo bi o ti ṣee laisi idinku iyara wọn. Iru ipo yii tun le nira lati oju-ọna ifarada ẹbi. Nigbagbogbo a fẹ lati gbe awọn ẹda ti iṣẹ kanna ni awọn agbeko oriṣiriṣi tabi paapaa ni awọn yara oriṣiriṣi ti ile-iṣẹ data, nitorinaa ti agbeko tabi yara ba kuna, a ko padanu gbogbo awọn ẹda iṣẹ lẹsẹkẹsẹ.

Pinpin awọn apoti pẹlu ọwọ kii ṣe aṣayan nigbati o ni awọn olupin 8 ẹgbẹrun ati awọn apoti 8-16 ẹgbẹrun.

Ni afikun, a fẹ lati fun awọn olupilẹṣẹ ominira diẹ sii ni ipin awọn orisun ki wọn le gbalejo awọn iṣẹ wọn ni iṣelọpọ funrararẹ, laisi iranlọwọ ti oludari kan. Ni akoko kanna, a fẹ lati ṣetọju iṣakoso ki diẹ ninu awọn iṣẹ kekere kii yoo jẹ gbogbo awọn orisun ti awọn ile-iṣẹ data wa.

O han ni, a nilo Layer iṣakoso ti yoo ṣe eyi laifọwọyi.

Nitorinaa a wa si aworan ti o rọrun ati oye ti gbogbo awọn ayaworan n fẹran: awọn onigun mẹrin.

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

awọn ọga-awọsanma kan jẹ iṣupọ ikuna ti o ni iduro fun orchestration awọsanma. Olùgbéejáde rán afarahan kan si oluwa, eyiti o ni gbogbo alaye pataki lati gbalejo iṣẹ naa. Da lori rẹ, oluwa n fun awọn aṣẹ si awọn minions ti a yan (awọn ẹrọ ti a ṣe apẹrẹ lati ṣiṣe awọn apoti). Awọn minions ni aṣoju wa, eyiti o gba aṣẹ naa, gbe awọn aṣẹ rẹ si Docker, ati Docker tunto ekuro linux lati ṣe ifilọlẹ eiyan ti o baamu. Ni afikun si awọn pipaṣẹ ṣiṣe, aṣoju n ṣe ijabọ nigbagbogbo si oluwa nipa awọn ayipada ni ipo ti ẹrọ minion mejeeji ati awọn apoti ti n ṣiṣẹ lori rẹ.

Awọn oluşewadi ipin

Bayi jẹ ki a wo iṣoro ti ipinfunni awọn oluşewadi eka sii fun ọpọlọpọ minions.

Ohun elo iširo ni awọsanma kan ni:

  • Awọn iye ti isise agbara run nipa kan pato iṣẹ-ṣiṣe.
  • Iwọn iranti ti o wa si iṣẹ-ṣiṣe naa.
  • Ijabọ nẹtiwọki. Ọkọọkan awọn minions ni wiwo nẹtiwọọki kan pato pẹlu iwọn bandiwidi to lopin, nitorinaa ko ṣee ṣe lati kaakiri awọn iṣẹ ṣiṣe laisi akiyesi iye data ti wọn tan kaakiri lori nẹtiwọọki naa.
  • Awọn disiki. Ni afikun, o han ni, si aaye fun awọn iṣẹ ṣiṣe wọnyi, a tun pin iru disk: HDD tabi SSD. Awọn disiki le sin nọmba ti o lopin ti awọn ibeere fun iṣẹju keji - IOPS. Nitorinaa, fun awọn iṣẹ ṣiṣe ti o ṣe agbejade IOPS diẹ sii ju disiki kan le mu, a tun pin “spindles” - iyẹn ni, awọn ẹrọ disiki ti o gbọdọ wa ni ipamọ ni iyasọtọ fun iṣẹ naa.

Lẹhinna fun diẹ ninu awọn iṣẹ, fun apẹẹrẹ fun kaṣe olumulo, a le ṣe igbasilẹ awọn orisun ti o jẹ ni ọna yii: awọn ohun kohun ero isise 400, TB 2,5 ti iranti, 50 Gbit / s ijabọ ni awọn itọnisọna mejeeji, 6 TB ti aaye HDD ti o wa lori awọn ọpa 100. Tabi ni fọọmu ti o mọ diẹ sii bi eleyi:

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

Awọn orisun iṣẹ kaṣe olumulo jẹ apakan nikan ti gbogbo awọn orisun to wa ninu awọn amayederun iṣelọpọ. Nitorinaa, Mo fẹ lati rii daju pe lojiji, nitori aṣiṣe oniṣẹ tabi rara, kaṣe olumulo ko jẹ awọn orisun diẹ sii ju ti o ti pin. Iyẹn ni, a gbọdọ fi opin si awọn ohun elo. Ṣugbọn kini a le so ipin si?

Jẹ ki a pada si aworan ti o rọrun pupọ ti ibaraenisepo ti awọn paati ati tun ṣe pẹlu awọn alaye diẹ sii - bii eyi:

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

Kini o fa oju rẹ:

  • Oju opo wẹẹbu iwaju ati orin lo awọn iṣupọ ti o ya sọtọ ti olupin ohun elo kanna.
  • A le ṣe iyatọ awọn ipele ọgbọn si eyiti awọn iṣupọ wọnyi jẹ: awọn iwaju, awọn caches, ibi ipamọ data ati Layer iṣakoso.
  • Iwaju iwaju jẹ oriṣiriṣi; o ni oriṣiriṣi awọn ọna ṣiṣe iṣẹ ṣiṣe.
  • Awọn caches le tun ti wa ni tuka kọja awọn subsystem ti data wọn cache.

Jẹ ki a tun aworan naa tun:

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

Bah! Bẹẹni, a ri a logalomomoise! Eyi tumọ si pe o le pin kaakiri awọn orisun ni awọn chunks nla: fi olupilẹṣẹ ti o ni iduro si oju ipade ti ipo-iṣe yii ti o baamu si eto iṣẹ-ṣiṣe (bii “orin” ninu aworan), ki o so ipin kan si ipele kanna ti awọn logalomomoise. Ilana yii tun gba wa laaye lati ṣeto awọn iṣẹ ni irọrun diẹ sii fun irọrun iṣakoso. Fun apẹẹrẹ, a pin gbogbo oju opo wẹẹbu, nitori eyi jẹ akojọpọ awọn olupin ti o tobi pupọ, si ọpọlọpọ awọn ẹgbẹ kekere, ti o han ninu aworan bi group1, group2.

Nipa yiyọ awọn ila afikun kuro, a le kọ oju-ọna kọọkan ti aworan wa ni fọọmu fifẹ: group1.web.iwaju, api.music.iwaju, olumulo-cache.cache.

Eyi ni bii a ṣe wa si imọran ti “isinyi logalomomoise”. O ni orukọ kan bi "group1.web.front". Ipin kan fun awọn orisun ati awọn ẹtọ olumulo ni a yàn si. A yoo fun eniyan lati ọdọ DevOps awọn ẹtọ lati firanṣẹ iṣẹ kan si isinyi, ati pe iru oṣiṣẹ bẹẹ le ṣe ifilọlẹ nkan kan ninu isinyi, ati pe eniyan OpsDev yoo ni awọn ẹtọ abojuto, ati ni bayi o le ṣakoso awọn ti isinyi, yan eniyan nibẹ, fun awọn eniyan wọnyi ni ẹtọ, ati bẹbẹ lọ Awọn iṣẹ ti n ṣiṣẹ lori isinyi yii yoo ṣiṣẹ laarin ipin ti isinyi. Ti ipin iširo ti isinyi ko ba to lati mu gbogbo awọn iṣẹ ṣiṣẹ ni ẹẹkan, lẹhinna wọn yoo ṣe ni lẹsẹsẹ, nitorinaa ṣe agbekalẹ isinyi funrararẹ.

Jẹ ká ya a jo wo ni awọn iṣẹ. Iṣẹ kan ni orukọ ti o ni kikun, eyiti o pẹlu orukọ ti isinyi nigbagbogbo. Lẹhinna iṣẹ oju opo wẹẹbu iwaju yoo ni orukọ naa ok-web.group1.web.iwaju. Ati pe iṣẹ olupin ohun elo ti o wọle yoo pe ok-app.group1.web.iwaju. Iṣẹ kọọkan ni ifihan kan, eyiti o ṣalaye gbogbo alaye pataki fun gbigbe si awọn ẹrọ kan pato: awọn orisun melo ni iṣẹ-ṣiṣe yii n gba, kini iṣeto ni o nilo fun, melo ni awọn ẹda ti o yẹ ki o jẹ, awọn ohun-ini fun mimu awọn ikuna iṣẹ yii. Ati lẹhin iṣẹ naa ti gbe taara lori awọn ẹrọ, awọn apẹẹrẹ rẹ han. Wọn tun jẹ orukọ lainidi - gẹgẹbi nọmba apẹẹrẹ ati orukọ iṣẹ: 1.ok-web.group1.web.iwaju, 2.ok-web.group1.web.iwaju, …

Eyi jẹ irọrun pupọ: nipa wiwo nikan ni orukọ ti eiyan nṣiṣẹ, a le rii pupọ lẹsẹkẹsẹ.

Bayi jẹ ki a wo diẹ sii kini awọn iṣẹlẹ wọnyi n ṣe: awọn iṣẹ-ṣiṣe.

Awọn kilasi Ipinya Iṣẹ

Gbogbo awọn iṣẹ-ṣiṣe ni O dara (ati, boya, nibi gbogbo) le pin si awọn ẹgbẹ:

  • Kukuru Lairi Awọn iṣẹ-ṣiṣe - prod. Fun iru awọn iṣẹ-ṣiṣe ati awọn iṣẹ, idaduro idahun (lairi) ṣe pataki pupọ, bawo ni iyara kọọkan ti awọn ibeere yoo ṣe ni ilọsiwaju nipasẹ eto naa. Awọn apẹẹrẹ ti awọn iṣẹ-ṣiṣe: awọn iwaju wẹẹbu, awọn caches, awọn olupin ohun elo, ibi ipamọ OLTP, ati bẹbẹ lọ.
  • Iṣiro isoro - ipele. Nibi, iyara processing ti ibeere kan pato ko ṣe pataki. Fun wọn, o ṣe pataki iye awọn iṣiro iṣẹ-ṣiṣe yii yoo ṣe ni akoko kan (pipẹ) kan (titẹjade). Iwọnyi yoo jẹ awọn iṣẹ ṣiṣe eyikeyi ti MapReduce, Hadoop, ẹkọ ẹrọ, awọn iṣiro.
  • Awọn iṣẹ abẹlẹ - laišišẹ. Fun iru awọn iṣẹ-ṣiṣe, bẹni lairi tabi iṣẹ ṣiṣe jẹ pataki pupọ. Eyi pẹlu ọpọlọpọ awọn idanwo, awọn iṣiwa, awọn iṣiro, ati iyipada ti data lati ọna kika kan si omiran. Ni apa kan, wọn jọra si awọn iṣiro, ni apa keji, ko ṣe pataki fun wa ni iyara ti wọn ti pari.

Jẹ ki a wo bii iru awọn iṣẹ-ṣiṣe ṣe jẹ awọn orisun, fun apẹẹrẹ, ero isise aarin.

Awọn iṣẹ-ṣiṣe idaduro kukuru. Iru iṣẹ-ṣiṣe kan yoo ni ilana lilo Sipiyu ti o jọra si eyi:

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

A gba ibeere lati ọdọ olumulo fun sisẹ, iṣẹ naa bẹrẹ lati lo gbogbo awọn ohun kohun Sipiyu ti o wa, ṣe ilana rẹ, da esi pada, duro fun ibeere atẹle ati awọn iduro. Ibeere ti o tẹle de - lẹẹkansi a yan ohun gbogbo ti o wa nibẹ, ṣe iṣiro rẹ, ati pe a nduro fun atẹle naa.

Lati ṣe iṣeduro lairi ti o kere julọ fun iru iṣẹ-ṣiṣe kan, a gbọdọ mu awọn orisun ti o pọju ti o jẹ ki o ṣe ipamọ nọmba ti a beere fun awọn ohun kohun lori minion (ẹrọ ti yoo ṣe iṣẹ naa). Lẹhinna agbekalẹ ifiṣura fun iṣoro wa yoo jẹ bi atẹle:

alloc: cpu = 4 (max)

ati pe ti a ba ni ẹrọ minion pẹlu awọn ohun kohun 16, lẹhinna ni pato iru awọn iṣẹ-ṣiṣe mẹrin ni a le gbe sori rẹ. A ṣe akiyesi paapaa pe apapọ agbara ero isise ti iru awọn iṣẹ-ṣiṣe nigbagbogbo jẹ kekere - eyiti o han gbangba, nitori apakan pataki ti akoko iṣẹ-ṣiṣe n duro de ibeere kan ko ṣe nkankan.

Awọn iṣẹ-ṣiṣe iṣiro. Ilana wọn yoo yatọ diẹ:

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

Iwọn agbara orisun Sipiyu fun iru awọn iṣẹ-ṣiṣe jẹ giga pupọ. Nigbagbogbo a fẹ iṣẹ ṣiṣe iṣiro lati pari ni iye akoko kan, nitorinaa a nilo lati ṣura nọmba to kere julọ ti awọn ilana ti o nilo ki gbogbo iṣiro naa pari ni akoko itẹwọgba. Ilana ifiṣura rẹ yoo dabi eyi:

alloc: cpu = [1,*)

"Jọwọ gbe e si ori minion nibiti o kere ju mojuto ọfẹ kan wa, ati lẹhinna bi ọpọlọpọ ti o wa, yoo jẹ ohun gbogbo."

Nibi ṣiṣe ti lilo ti dara julọ ju lori awọn iṣẹ ṣiṣe pẹlu idaduro kukuru. Ṣugbọn ere naa yoo tobi pupọ ti o ba darapọ awọn iru awọn iṣẹ-ṣiṣe mejeeji lori ẹrọ minion kan ati pinpin awọn orisun rẹ ni lilọ. Nigbati iṣẹ-ṣiṣe kan pẹlu idaduro kukuru nilo ero isise, o gba lẹsẹkẹsẹ, ati nigbati awọn orisun ko ba nilo, wọn gbe lọ si iṣẹ-ṣiṣe iṣiro, ie nkankan bi eyi:

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

Ṣugbọn bawo ni lati ṣe eyi?

Ni akọkọ, jẹ ki a wo prod ati alloc rẹ: cpu = 4. A nilo lati ni ipamọ awọn ohun kohun mẹrin. Ni ṣiṣe Docker eyi le ṣee ṣe ni awọn ọna meji:

  • Lilo aṣayan --cpuset=1-4, ie pin awọn ohun kohun mẹrin pato lori ẹrọ si iṣẹ-ṣiṣe naa.
  • Lo --cpuquota=400_000 --cpuperiod=100_000, fi ipin kan fun akoko ero isise, ie tọka pe gbogbo 100 ms ti akoko gidi iṣẹ-ṣiṣe ko gba diẹ sii ju 400 ms ti akoko ero isise. Awọn ohun kohun mẹrin kanna ni a gba.

Ṣugbọn ewo ninu awọn ọna wọnyi dara?

cpuset wulẹ oyimbo wuni. Iṣẹ naa ni awọn ohun kohun iyasọtọ mẹrin, eyiti o tumọ si pe awọn kaṣe ero isise yoo ṣiṣẹ daradara bi o ti ṣee. Eyi tun ni apa isalẹ: a yoo ni lati mu iṣẹ-ṣiṣe ti pinpin awọn iṣiro kọja awọn ohun kohun ti ẹrọ dipo OS, ati pe eyi jẹ iṣẹ-ṣiṣe ti kii ṣe pataki, paapaa ti a ba gbiyanju lati gbe awọn iṣẹ ṣiṣe ipele sori iru iru bẹẹ. ẹrọ. Awọn idanwo ti fihan pe aṣayan pẹlu ipin kan dara julọ nibi: ni ọna yii ẹrọ ṣiṣe ni ominira diẹ sii ni yiyan mojuto lati ṣe iṣẹ-ṣiṣe ni akoko lọwọlọwọ ati pe akoko ero isise ti pin daradara siwaju sii.

Jẹ ki a ro bi o ṣe le ṣe awọn ifiṣura ni Docker da lori nọmba to kere julọ ti awọn ohun kohun. Awọn ipin fun awọn iṣẹ-ṣiṣe ipele ko si ohun to wulo, nitori nibẹ ni ko si ye lati se idinwo awọn ti o pọju, o jẹ to lati kan ẹri kere. Ati nibi aṣayan ti o baamu daradara docker run --cpushares.

A gba pe ti ipele kan ba nilo iṣeduro fun o kere ju ọkan mojuto, lẹhinna a tọka --cpushares=1024, ati pe ti o ba wa ni o kere ju awọn ohun kohun meji, lẹhinna a tọka --cpushares=2048. Awọn mọlẹbi Sipiyu ko dabaru ni eyikeyi ọna pẹlu pinpin akoko ero isise niwọn igba ti o to. Nitorinaa, ti prod ko ba lo gbogbo awọn ohun kohun mẹrin rẹ lọwọlọwọ, ko si nkankan ti o ni opin awọn iṣẹ ṣiṣe ipele, ati pe wọn le lo akoko ero isise afikun. Ṣugbọn ni ipo kan nibiti aito awọn olutọsọna ba wa, ti prod ba ti jẹ gbogbo awọn ohun kohun mẹrin rẹ ti o ti de ipin rẹ, akoko ero isise to ku yoo pin ni iwọn si cpushares, ie ni ipo ti awọn ohun kohun ọfẹ mẹta, ọkan yoo jẹ. fi fun iṣẹ-ṣiṣe kan pẹlu 1024 cpushares, ati awọn ti o ku meji yoo wa ni fun iṣẹ-ṣiṣe kan pẹlu 2048 cpushares.

Ṣugbọn lilo ipin ati awọn ipin ko to. A nilo lati rii daju pe iṣẹ-ṣiṣe kan pẹlu idaduro kukuru gba ayo lori iṣẹ-ṣiṣe ipele kan nigbati o ba pin akoko ero isise. Laisi iru iṣaaju bẹ, iṣẹ-ṣiṣe ipele yoo gba gbogbo akoko ero isise ni akoko ti o nilo nipasẹ prod. Ko si awọn aṣayan iṣaju eiyan ni ṣiṣe Docker, ṣugbọn awọn ilana iṣeto CPU Linux wa ni ọwọ. O le ka nipa wọn ni awọn alaye nibi, ati laarin ilana ti nkan yii a yoo lọ nipasẹ wọn ni ṣoki:

  • SCHED_OTHER
    Nipa aiyipada, gbogbo awọn ilana olumulo deede lori ẹrọ Linux gba.
  • SCHED_BATCH
    Apẹrẹ fun awọn oluşewadi-lekoko lakọkọ. Nigbati o ba n gbe iṣẹ-ṣiṣe sori ero isise kan, eyiti a pe ni ijiya imuṣiṣẹ ni a ṣe afihan: iru iṣẹ-ṣiṣe ko kere julọ lati gba awọn orisun ero isise ti o ba jẹ lilo lọwọlọwọ nipasẹ iṣẹ-ṣiṣe pẹlu SCHED_OTHER
  • SCHED_IDLE
    Ilana isale pẹlu ayo kekere pupọ, paapaa kere ju ti o wuyi -19. A nlo ile-ikawe orisun ṣiṣi wa ọkan-nio, lati le ṣeto eto imulo ti o yẹ nigbati o ba bẹrẹ eiyan nipasẹ pipe

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

Ṣugbọn paapaa ti o ko ba ṣe eto ni Java, ohun kanna le ṣee ṣe nipa lilo aṣẹ chrt:

chrt -i 0 $pid

Jẹ ki a ṣe akopọ gbogbo awọn ipele ipinya wa sinu tabili kan fun mimọ:

kilasi idabobo
Aloc apẹẹrẹ
Docker ṣiṣe awọn aṣayan
scheduler chrt*

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

ipele
Sipiyu = [1, *)
--cpushares=1024
SCHED_BATCH

laišišẹ
Sipiyu= [2, *)
--cpushares=2048
SCHED_IDLE

* Ti o ba n ṣe chrt lati inu eiyan kan, o le nilo agbara sys_nice, nitori nipasẹ aiyipada Docker yọ agbara yii kuro nigbati o ba bẹrẹ eiyan naa.

Ṣugbọn awọn iṣẹ ṣiṣe jẹ kii ṣe ero isise nikan, ṣugbọn tun ijabọ, eyiti o ni ipa lori lairi ti iṣẹ nẹtiwọọki paapaa diẹ sii ju ipin ti ko tọ ti awọn orisun ero isise. Nitorinaa, a nipa ti ara fẹ lati gba aworan kanna ni deede fun ijabọ. Iyẹn ni, nigbati iṣẹ-ṣiṣe prod ba fi awọn apo-iwe kan ranṣẹ si nẹtiwọọki, a ṣe idinwo iyara to pọ julọ (agbekalẹ alloc: lan=[*,500mbps) ), pẹlu eyi ti prod le ṣe eyi. Ati fun ipele a ṣe iṣeduro nikan ni iwọntunwọnsi ti o kere ju, ṣugbọn ko ṣe idinwo o pọju (agbekalẹ alloc: lan=[10Mbps,*) ) Ni idi eyi, ijabọ prod yẹ ki o gba ayo lori awọn iṣẹ-ṣiṣe ipele.
Nibi Docker ko ni eyikeyi alakoko ti a le lo. Ṣugbọn o wa si iranlọwọ wa Linux Traffic Iṣakoso. A ni anfani lati ṣaṣeyọri abajade ti o fẹ pẹlu iranlọwọ ti ibawi Hierarchical Fair Service ti tẹ. Pẹlu iranlọwọ rẹ, a ṣe iyatọ awọn kilasi meji ti ijabọ: prod ti o ga julọ ati ipele pataki-kekere / laiṣiṣẹ. Bi abajade, iṣeto ni fun ijabọ ti njade jẹ bi eleyi:

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

nibi 1: 0 ni "qdisc root" ti hsfc ibawi; 1: 1 - hsfc ọmọ kilasi pẹlu apapọ iye iwọn bandiwidi ti 8 Gbit / s, labẹ eyiti a gbe awọn kilasi ọmọ ti gbogbo awọn apoti; 1:2 - kilasi ọmọ hsfc jẹ wọpọ si gbogbo ipele ati awọn iṣẹ ṣiṣe aisinilọkan pẹlu opin “agbara”, eyiti a jiroro ni isalẹ. Awọn kilasi ọmọde hsfc to ku jẹ awọn kilasi igbẹhin fun awọn apoti prod nṣiṣẹ lọwọlọwọ pẹlu awọn opin ti o baamu si awọn ifihan wọn - 450 ati 400 Mbit/s. Kilasi hsfc kọọkan ni a yan fq ti isinyi qdisc tabi fq_codel, da lori ẹya Linux ekuro, lati yago fun ipadanu soso lakoko ti nwaye ijabọ.

Ni deede, awọn ilana tc ṣiṣẹ lati ṣe pataki awọn ijabọ ti njade nikan. Ṣugbọn a fẹ lati ṣe pataki ijabọ ti nwọle paapaa - lẹhinna, diẹ ninu awọn iṣẹ-ṣiṣe ipele le ni rọọrun yan gbogbo ikanni ti nwọle, gbigba, fun apẹẹrẹ, ipele nla ti data igbewọle fun maapu&dinkuro. Fun eyi a lo module ifb, eyi ti o ṣẹda ifbX foju wiwo fun wiwo nẹtiwọki kọọkan ati ṣe atunṣe ijabọ ti nwọle lati inu wiwo si ijabọ ti njade lori ifbX. Siwaju sii, fun ifbX, gbogbo awọn ilana-iṣe kanna ṣiṣẹ lati ṣakoso ijabọ ti njade, fun eyiti iṣeto hsfc yoo jọra pupọ:

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

Lakoko awọn adanwo, a rii pe hsfc ṣe afihan awọn abajade to dara julọ nigbati kilasi 1: 2 ti ipele ti kii ṣe pataki / ijabọ laišišẹ jẹ opin lori awọn ẹrọ minion si ko si ju ọna ọfẹ kan lọ. Bibẹẹkọ, ijabọ ti kii ṣe pataki ni ipa pupọ lori aipe ti awọn iṣẹ-ṣiṣe prod. miniond pinnu iye bandiwidi ọfẹ lọwọlọwọ ni gbogbo iṣẹju-aaya, ni wiwọn apapọ agbara ijabọ ti gbogbo awọn iṣẹ-ṣiṣe prod ti minion ti a fifun Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki ati iyokuro o lati bandiwidi ni wiwo nẹtiwọki Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki pẹlu kan kekere ala, i.e.

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

Awọn ẹgbẹ ti wa ni asọye ni ominira fun ijabọ ti nwọle ati ti njade. Ati ni ibamu si awọn titun iye, miniond reconfigures awọn ti kii- ayo kilasi iye to 1: 2.

Nitorinaa, a ṣe imuse gbogbo awọn kilasi ipinya mẹta: prod, batch ati laišišẹ. Awọn kilasi wọnyi ni ipa pupọ awọn abuda iṣẹ ṣiṣe ti awọn iṣẹ-ṣiṣe. Nitorinaa, a pinnu lati gbe abuda yii si oke ti awọn logalomomoise, ki nigbati o ba wo orukọ ti isinyi logalomomoise yoo han lẹsẹkẹsẹ kini ohun ti a nṣe pẹlu:

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

Gbogbo awọn ọrẹ wa ayelujara и music awọn iwaju ti wa ni ki o si gbe ni awọn logalomomoise labẹ prod. Fun apẹẹrẹ, labẹ ipele, jẹ ki a gbe iṣẹ naa orin katalogi, eyi ti o ṣe akojọpọ awọn katalogi ti awọn orin lati igbakọọkan awọn faili mp3 ti a gbe si Odnoklassniki. Apeere ti iṣẹ labẹ aiṣiṣẹ yoo jẹ Amunawa orin, eyi ti o ṣe deede ipele iwọn didun orin.

Pẹlu awọn laini afikun ti a yọkuro lẹẹkansi, a le kọ awọn orukọ iṣẹ wa ni ipọnni nipa fifi kilaasi ipinya iṣẹ-ṣiṣe kun si opin orukọ iṣẹ ni kikun: ayelujara.iwaju.prod, katalogi.music.batch, transformer.music.laišišẹ.

Ati ni bayi, wiwo orukọ iṣẹ naa, a loye kii ṣe iṣẹ wo ni o ṣe nikan, ṣugbọn kilasi ipinya rẹ, eyiti o tumọ si pataki rẹ, ati bẹbẹ lọ.

Ohun gbogbo jẹ nla, ṣugbọn otitọ kikoro kan wa. Ko ṣee ṣe lati ya sọtọ awọn iṣẹ ṣiṣe ni kikun lori ẹrọ kan.

Ohun ti a ṣakoso lati ṣaṣeyọri: ti ipele ba n gba agbara Nikan Awọn orisun Sipiyu, lẹhinna oluṣeto Sipiyu Linux ti a ṣe sinu ṣe iṣẹ rẹ daradara, ati pe ko si ipa kankan lori iṣẹ-ṣiṣe prod. Ṣugbọn ti iṣẹ-ṣiṣe ipele yii ba bẹrẹ lati ṣiṣẹ ni itara pẹlu iranti, lẹhinna ipa ipa-ọna ti han tẹlẹ. Eyi ṣẹlẹ nitori iṣẹ-ṣiṣe prod ti “fọ kuro” ti awọn kaṣe iranti ero isise - bi abajade, kaṣe padanu ilosoke, ati pe ero isise n ṣe ilana iṣẹ prod diẹ sii laiyara. Iru iṣẹ-ṣiṣe ipele kan le ṣe alekun lairi ti eiyan prod aṣoju wa nipasẹ 10%.

Iyasọtọ ijabọ paapaa nira sii nitori otitọ pe awọn kaadi nẹtiwọọki ode oni ni isinyi inu ti awọn apo-iwe. Ti o ba ti soso lati awọn ipele-ṣiṣe gba nibẹ akọkọ, ki o si o yoo jẹ akọkọ lati wa ni ti o ti gbe lori USB, ati ohunkohun ko le ṣee ṣe nipa o.

Ni afikun, a ti ṣakoso bẹ nikan lati yanju iṣoro ti iṣaju iṣowo TCP: ọna hsfc ko ṣiṣẹ fun UDP. Ati paapaa ninu ọran ti ijabọ TCP, ti iṣẹ-ṣiṣe batch n ṣe ọpọlọpọ awọn ijabọ, eyi tun funni ni iwọn 10% ilosoke ninu idaduro iṣẹ-ṣiṣe prod.

ifarada ẹbi

Ọkan ninu awọn ibi-afẹde nigba idagbasoke awọsanma kan ni lati mu ifarada aṣiṣe ti Odnoklassniki dara si. Nitorinaa, atẹle Emi yoo fẹ lati ronu ni awọn alaye diẹ sii awọn oju iṣẹlẹ ti awọn ikuna ati awọn ijamba. Jẹ ká bẹrẹ pẹlu kan ti o rọrun ohn - a eiyan ikuna.

Apoti funrararẹ le kuna ni awọn ọna pupọ. Eyi le jẹ diẹ ninu awọn adanwo, kokoro tabi aṣiṣe ninu ifihan, nitori eyiti iṣẹ-ṣiṣe prod bẹrẹ lati jẹ awọn orisun diẹ sii ju itọkasi ninu ifihan. A ni ọran kan: Olùgbéejáde kan ṣe imuse algorithm eka kan, tun ṣe atunṣe ni ọpọlọpọ igba, bori ararẹ o si ni idamu pupọ pe nikẹhin iṣoro naa lọ sinu lupu ti kii ṣe bintin pupọ. Ati pe niwọn igba ti iṣẹ-ṣiṣe prod ni pataki ti o ga julọ ju gbogbo awọn miiran lọ lori awọn minions kanna, o bẹrẹ lati jẹ gbogbo awọn orisun ero isise ti o wa. Ni ipo yii, ipinya, tabi dipo ipin akoko Sipiyu, ti fipamọ ọjọ naa. Ti iṣẹ kan ba pin ipin kan, iṣẹ naa kii yoo jẹ diẹ sii. Nitorinaa, ipele ati awọn iṣẹ-ṣiṣe prod miiran ti o ṣiṣẹ lori ẹrọ kanna ko ṣe akiyesi ohunkohun.

Iṣoro keji ti o ṣeeṣe ni apoti ti o ṣubu. Ati pe nibi tun bẹrẹ awọn eto imulo gba wa, gbogbo eniyan mọ wọn, Docker funrararẹ ṣe iṣẹ nla kan. Fere gbogbo awọn iṣẹ-ṣiṣe prod ni eto imulo atunbẹrẹ nigbagbogbo. Nigba miiran a lo on_failure fun awọn iṣẹ-ṣiṣe ipele tabi fun awọn apoti ti n ṣatunṣe aṣiṣe.

Kini o le ṣe ti gbogbo minion ko ba si?

O han ni, ṣiṣe apoti naa lori ẹrọ miiran. Apakan ti o nifẹ si nibi ni ohun ti o ṣẹlẹ si adiresi IP (awọn) ti a yàn si eiyan naa.

A le fi awọn apoti ni awọn adirẹsi IP kanna gẹgẹbi awọn ẹrọ minion lori eyiti awọn apoti wọnyi nṣiṣẹ. Lẹhinna, nigbati a ba ṣe ifilọlẹ eiyan naa lori ẹrọ miiran, adiresi IP rẹ yipada, ati gbogbo awọn alabara gbọdọ loye pe eiyan naa ti gbe, ati ni bayi wọn nilo lati lọ si adirẹsi ti o yatọ, eyiti o nilo iṣẹ Awari Iṣẹ lọtọ.

Iwari iṣẹ rọrun. Ọpọlọpọ awọn solusan wa lori ọja ti awọn iwọn oriṣiriṣi ti ifarada ẹbi fun siseto iforukọsilẹ iṣẹ kan. Nigbagbogbo iru awọn solusan ṣe adaṣe iṣiro iwọntunwọnsi, tọju iṣeto ni afikun ni irisi ibi ipamọ KV, bbl
Sibẹsibẹ, a yoo fẹ lati yago fun iwulo lati ṣe iforukọsilẹ lọtọ, nitori eyi yoo tumọ si iṣafihan eto pataki kan ti gbogbo awọn iṣẹ lo ni iṣelọpọ. Eyi tumọ si pe eyi jẹ aaye ikuna ti o pọju, ati pe o nilo lati yan tabi ṣe agbekalẹ ojutu ifarada-ẹbi pupọ, eyiti o han gbangba pe o ṣoro pupọ, n gba akoko ati gbowolori.

Ati apadabọ nla kan diẹ sii: ni ibere fun awọn amayederun atijọ wa lati ṣiṣẹ pẹlu ọkan tuntun, a yoo ni lati tunkọ gbogbo awọn iṣẹ ṣiṣe patapata lati lo iru eto Awari Iṣẹ kan. Iṣẹ pupọ wa, ati ni awọn aaye kan ko ṣee ṣe nigbati o ba de awọn ẹrọ kekere ti o ṣiṣẹ ni ipele ekuro OS tabi taara pẹlu ohun elo. Ṣiṣe iṣẹ ṣiṣe yii nipa lilo awọn ilana ojutu ti iṣeto, gẹgẹbi ẹgbẹ-ọkọ ayọkẹlẹ yoo tumọ si ni awọn aaye kan afikun fifuye, ni awọn miiran - ilolu ti iṣẹ ati awọn oju iṣẹlẹ ikuna afikun. A ko fẹ lati ṣe idiju awọn nkan, nitorinaa a pinnu lati jẹ ki lilo Awari Iṣẹ jẹ iyan.

Ni ọkan-awọsanma, IP tẹle eiyan, ie apẹẹrẹ iṣẹ-ṣiṣe kọọkan ni adiresi IP tirẹ. Adirẹsi yii jẹ “aimi”: o ti pin si apẹẹrẹ kọọkan nigbati iṣẹ naa ba kọkọ ranṣẹ si awọsanma. Ti iṣẹ kan ba ni nọmba awọn iṣẹlẹ ti o yatọ lakoko igbesi aye rẹ, lẹhinna ni ipari yoo pin bi ọpọlọpọ awọn adirẹsi IP bi awọn iṣẹlẹ ti o pọju wa.

Lẹhinna, awọn adirẹsi wọnyi ko yipada: wọn pin ni ẹẹkan ati tẹsiwaju lati wa jakejado igbesi aye iṣẹ ni iṣelọpọ. Awọn adirẹsi IP tẹle awọn apoti kọja nẹtiwọọki naa. Ti o ba ti gbe eiyan naa si minion miiran, lẹhinna adirẹsi naa yoo tẹle.

Nitorinaa, aworan agbaye ti orukọ iṣẹ kan si atokọ ti awọn adirẹsi IP n yipada ni ṣọwọn. Ti o ba tun wo awọn orukọ ti awọn iṣẹlẹ iṣẹ ti a mẹnuba ni ibẹrẹ nkan naa (1.ok-web.group1.web.front.prod, 2.ok-web.group1.web.front.prod, …), a yoo ṣe akiyesi pe wọn dabi awọn FQDN ti a lo ninu DNS. Iyẹn tọ, lati ṣe maapu awọn orukọ awọn iṣẹlẹ iṣẹ si awọn adirẹsi IP wọn, a lo ilana DNS. Pẹlupẹlu, DNS yii da pada gbogbo awọn adirẹsi IP ipamọ ti gbogbo awọn apoti - mejeeji nṣiṣẹ ati duro (jẹ ki a sọ pe a lo awọn ẹda mẹta, ati pe a ni awọn adirẹsi marun ti o wa ni ipamọ nibẹ - gbogbo marun yoo pada). Awọn alabara, ti gba alaye yii, yoo gbiyanju lati fi idi asopọ kan mulẹ pẹlu gbogbo awọn ẹda marun - ati nitorinaa pinnu awọn ti n ṣiṣẹ. Aṣayan yii fun ipinnu wiwa jẹ igbẹkẹle diẹ sii; ko kan boya DNS tabi Awari Iṣẹ, eyiti o tumọ si pe ko si awọn iṣoro ti o nira lati yanju ni aridaju ibaramu ti alaye ati ifarada ẹbi ti awọn eto wọnyi. Pẹlupẹlu, ni awọn iṣẹ to ṣe pataki lori eyiti iṣẹ ti gbogbo ọna abawọle da, a ko le lo DNS rara, ṣugbọn tẹ awọn adirẹsi IP nirọrun sinu iṣeto.

Ṣiṣe iru gbigbe IP lẹhin awọn apoti le jẹ ti kii ṣe nkan - ati pe a yoo wo bii o ṣe n ṣiṣẹ pẹlu apẹẹrẹ atẹle:

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

Jẹ ki a sọ pe oluwa awọsanma kan fun minion M1 lati ṣiṣẹ 1.ok-web.group1.web.front.prod pẹlu adirẹsi 1.1.1.1. Ṣiṣẹ lori minion EYE, eyiti o polowo adirẹsi yii si awọn olupin pataki ọna reflector. Awọn igbehin ni igba BGP pẹlu ohun elo nẹtiwọọki, eyiti ọna ti adirẹsi 1.1.1.1 lori M1 ti tumọ si. Awọn apo-iwe ipa-ọna M1 inu eiyan nipa lilo Lainos. Awọn olupin olufihan ipa ọna mẹta wa, nitori eyi jẹ apakan pataki pupọ ti awọn amayederun awọsanma kan - laisi wọn, nẹtiwọọki ninu awọsanma kan kii yoo ṣiṣẹ. A gbe wọn sinu awọn agbeko oriṣiriṣi, ti o ba ṣeeṣe ti o wa ni awọn yara oriṣiriṣi ti ile-iṣẹ data, lati dinku iṣeeṣe ti gbogbo awọn aṣiṣe mẹta ni akoko kanna.

Jẹ ki a ro pe asopọ laarin oluwa awọsanma kan ati Minion M1 ti sọnu. Ọga-awọsanma kan yoo ṣiṣẹ ni bayi lori arosinu pe M1 ti kuna patapata. Iyẹn ni, yoo fun aṣẹ si M2 minion lati ṣe ifilọlẹ web.group1.web.front.prod pẹlu kanna adirẹsi 1.1.1.1. Bayi a ni awọn ipa-ọna ikọlura meji lori nẹtiwọọki fun 1.1.1.1: lori M1 ati lori M2. Lati le yanju iru awọn ija, a lo Multi Exit Discriminator, eyiti o jẹ pato ninu ikede BGP. Eyi jẹ nọmba ti o ṣe afihan iwuwo ipa-ọna ipolowo. Lara awọn ipa ọna rogbodiyan, ipa-ọna pẹlu iye MED kekere yoo yan. Titunto si-awọsanma kan ṣe atilẹyin MED gẹgẹbi apakan pataki ti awọn adirẹsi IP eiyan. Fun igba akọkọ, adirẹsi ti wa ni kikọ pẹlu kan to tobi MED = 1. Ni ipo ti iru ohun pajawiri eiyan gbigbe, titunto si din MED, ati M000 yoo tẹlẹ gba aṣẹ lati polowo awọn adirẹsi 000 pẹlu MED = 2. Apeere nṣiṣẹ lori M1.1.1.1 yoo wa nibe ninu apere yi nibẹ ni ko si asopọ, ati awọn re siwaju ayanmọ wa diẹ titi awọn asopọ pẹlu awọn titunto si ti wa ni pada, nigbati o yoo wa ni da bi atijọ ya.

ijamba

Gbogbo awọn eto iṣakoso ile-iṣẹ data nigbagbogbo mu awọn ikuna kekere mu ni itẹwọgba. Aponsedanu apoti jẹ iwuwasi fere nibi gbogbo.

Jẹ ki a wo bawo ni a ṣe ṣe itọju pajawiri, gẹgẹbi ikuna agbara ni ọkan tabi diẹ ẹ sii yara ti ile-iṣẹ data kan.

Kini ijamba tumọ si fun eto iṣakoso aarin data? Ni akọkọ, eyi jẹ ikuna akoko kan nla ti ọpọlọpọ awọn ẹrọ, ati pe eto iṣakoso nilo lati jade lọpọlọpọ awọn apoti ni akoko kanna. Ṣugbọn ti ajalu naa ba tobi pupọ, lẹhinna o le ṣẹlẹ pe gbogbo awọn iṣẹ-ṣiṣe ko le tun pin si awọn minions miiran, nitori agbara orisun ti ile-iṣẹ data ṣubu ni isalẹ 100% ti fifuye naa.

Nigbagbogbo awọn ijamba wa pẹlu ikuna ti Layer iṣakoso. Eyi le ṣẹlẹ nitori ikuna ti ẹrọ rẹ, ṣugbọn diẹ sii nigbagbogbo nitori otitọ pe awọn ijamba ko ni idanwo, ati pe Layer iṣakoso funrararẹ ṣubu nitori fifuye ti o pọ sii.

Kini o le ṣe nipa gbogbo eyi?

Awọn ijira ti o pọ julọ tumọ si pe nọmba nla ti awọn iṣẹ ṣiṣe, awọn iṣiwa, ati awọn imuṣiṣẹ ti n waye ni awọn amayederun. Ọkọọkan awọn iṣipopada le gba akoko diẹ ti o nilo lati firanṣẹ ati ṣiṣi awọn aworan apoti si awọn minions, ifilọlẹ ati ipilẹṣẹ awọn apoti, bbl Nitorinaa, o jẹ iwunilori pe awọn iṣẹ ṣiṣe pataki diẹ sii ni ifilọlẹ ṣaaju awọn ti ko ṣe pataki.

Jẹ ki a wo lẹẹkansi ni awọn logalomomoise ti awọn iṣẹ ti a ba faramọ pẹlu ki o si gbiyanju lati pinnu eyi ti awọn iṣẹ-ṣiṣe ti a fẹ lati ṣiṣe akọkọ.

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

Nitoribẹẹ, iwọnyi ni awọn ilana ti o ni ipa taara ninu sisẹ awọn ibeere olumulo, ie prod. A ṣe afihan eyi pẹlu ayo ibi - nọmba kan ti o le wa ni sọtọ si awọn ti isinyi. Ti isinyi ba ni pataki ti o ga julọ, awọn iṣẹ rẹ ni a gbe kalẹ ni akọkọ.

Lori prod a fi awọn ayo ti o ga julọ, 0; lori ipele - kekere diẹ, 100; on laišišẹ - ani kekere, 200. Ayo ti wa ni gbẹyin hierarchically. Gbogbo awọn iṣẹ-ṣiṣe ti o kere si ni ipo-iṣẹ yoo ni pataki ti o baamu. Ti a ba fẹ ki awọn caches inu prod wa ni ifilọlẹ ṣaaju awọn iwaju iwaju, lẹhinna a fi awọn ohun pataki si kaṣe = 0 ati si awọn subqueues iwaju = 1. Ti, fun apẹẹrẹ, a fẹ ki ẹnu-ọna akọkọ ṣe ifilọlẹ lati awọn iwaju akọkọ, ati pe iwaju orin nikan ni iwaju. lẹhinna, lẹhinna a le fi aaye pataki si igbehin - 10.

Iṣoro ti o tẹle ni aini awọn ohun elo. Nitorinaa, ohun elo nla, gbogbo awọn gbọngàn ti ile-iṣẹ data, kuna, ati pe a tun bẹrẹ ọpọlọpọ awọn iṣẹ ti o wa ni bayi ko si awọn orisun to fun gbogbo eniyan. O nilo lati pinnu iru awọn iṣẹ-ṣiṣe lati rubọ lati le jẹ ki awọn iṣẹ pataki pataki ṣiṣẹ.

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

Ko dabi pataki ibi, a ko le rubọ gbogbo awọn iṣẹ ṣiṣe ipele lainidi; diẹ ninu wọn ṣe pataki fun iṣẹ ti ọna abawọle naa. Nitorina, a ti ṣe afihan lọtọ ayo preemption awọn iṣẹ-ṣiṣe. Nigbati o ba gbe, iṣẹ-ṣiṣe pataki ti o ga julọ le ṣaju, ie da duro, iṣẹ pataki ti o kere ju ti ko ba si awọn minions ọfẹ diẹ sii. Ni ọran yii, iṣẹ-ṣiṣe kan ti o ni ayo kekere yoo ṣee ṣe wa laisi ipo, ie kii yoo jẹ minion ti o yẹ mọ fun pẹlu awọn orisun ọfẹ ti o to.

Ni wa logalomomoise, o jẹ gidigidi o rọrun a pato kan preemption ayo iru awọn ti prod ati ipele awọn iṣẹ-ṣiṣe preempt tabi da laišišẹ awọn iṣẹ-ṣiṣe, sugbon ko kọọkan miiran, nipa a pato kan ni ayo fun laišišẹ dogba 200. Gẹgẹ bi ninu ọran ti ayo ibi, a le lo awọn logalomomoise wa ni ibere lati se apejuwe diẹ eka ofin. Fun apẹẹrẹ, jẹ ki a tọka si pe a rubọ iṣẹ orin ti a ko ba ni awọn orisun to fun oju opo wẹẹbu akọkọ, ṣeto pataki fun awọn apa ti o baamu ni isalẹ: 10.

Gbogbo DC ijamba

Kini idi ti gbogbo ile-iṣẹ data le kuna? Eroja. Je kan ti o dara post Iji lile kan iṣẹ ti ile-iṣẹ data naa. Awọn eroja ni a le kà si awọn eniyan aini ile ti o sun awọn opiti ni ọpọlọpọ igba, ati ile-iṣẹ data ti padanu olubasọrọ patapata pẹlu awọn aaye miiran. Idi ti ikuna tun le jẹ ifosiwewe eniyan: oniṣẹ yoo fun iru aṣẹ bẹ pe gbogbo ile-iṣẹ data yoo ṣubu. Eyi le ṣẹlẹ nitori kokoro nla kan. Ni gbogbogbo, awọn ile-iṣẹ data ṣubu kii ṣe loorekoore. Eyi n ṣẹlẹ si wa lẹẹkan ni gbogbo oṣu diẹ.

Ati pe eyi ni ohun ti a ṣe lati ṣe idiwọ ẹnikẹni lati tweeting #alive.

Ilana akọkọ jẹ ipinya. Apeere ọkan-awọsanma kọọkan ti ya sọtọ ati pe o le ṣakoso awọn ẹrọ ni ile-iṣẹ data kan nikan. Iyẹn ni, isonu ti awọsanma nitori awọn idun tabi awọn aṣẹ oniṣẹ ti ko tọ ni isonu ti ile-iṣẹ data kan ṣoṣo. A ti ṣetan fun eyi: a ni eto imulo apọju ninu eyiti awọn ẹda ti ohun elo ati data wa ni gbogbo awọn ile-iṣẹ data. A lo awọn apoti isura data alaiṣe-ẹbi ati idanwo lorekore fun awọn ikuna.
Niwọn igba ti a ni awọn ile-iṣẹ data mẹrin, iyẹn tumọ si lọtọ mẹrin, awọn iṣẹlẹ ti o ya sọtọ patapata ti awọsanma kan.

Ọna yii kii ṣe aabo nikan lodi si ikuna ti ara, ṣugbọn tun le daabobo lodi si aṣiṣe oniṣẹ.

Kini ohun miiran le ṣee ṣe pẹlu ifosiwewe eniyan? Nigbati oniṣẹ kan ba fun awọsanma ni aṣẹ ajeji tabi ti o lewu, o le lojiji beere lọwọ rẹ lati yanju iṣoro kekere kan lati rii bi o ti ronu daradara. Fun apẹẹrẹ, ti o ba jẹ diẹ ninu awọn iru ibi-idaduro ti ọpọlọpọ awọn replicas tabi o kan kan ajeji pipaṣẹ - atehinwa awọn nọmba ti replicas tabi yiyipada awọn orukọ ti awọn aworan, ki o si ko o kan version nọmba ninu awọn titun farahan.

Awọsanma kan - ipele ile-iṣẹ data OS ni Odnoklassniki

Awọn esi

Awọn ẹya iyasọtọ ti awọsanma-ọkan:

  • Ilana isọdibilẹ ati eto iforukọ wiwo fun awọn iṣẹ ati awọn apoti, eyiti o fun ọ laaye lati wa ni iyara pupọ kini iṣẹ-ṣiṣe naa jẹ, kini o ni ibatan si ati bii o ṣe n ṣiṣẹ ati tani o jẹ iduro fun.
  • A lo wa ilana ti apapọ prod- ati ipele-awọn iṣẹ-ṣiṣe lori awọn minions lati mu ilọsiwaju ti pinpin ẹrọ ṣiṣẹ. Dipo cpuset a lo awọn ipin Sipiyu, awọn ipin, awọn ilana iṣeto Sipiyu ati Linux QoS.
  • Ko ṣee ṣe lati ya sọtọ awọn apoti ti n ṣiṣẹ lori ẹrọ kanna, ṣugbọn ipa-ẹgbẹ wọn wa laarin 20%.
  • Ṣiṣeto awọn iṣẹ sinu ipo-iṣẹ ṣe iranlọwọ pẹlu imularada ajalu laifọwọyi nipa lilo placement ati ayo preemption.

FAQ

Kilode ti a ko mu ojutu ti a ti ṣetan?

  • Awọn kilasi oriṣiriṣi ti ipinya iṣẹ-ṣiṣe nilo ọgbọn oriṣiriṣi nigbati a gbe sori awọn minions. Ti awọn iṣẹ-ṣiṣe prod ba le gbe nipasẹ fifipamọ awọn orisun lasan, lẹhinna ipele ati awọn iṣẹ-ṣiṣe aisinipo gbọdọ wa ni gbe, titọpa lilo awọn orisun gangan lori awọn ẹrọ minion.
  • Iwulo lati ṣe akiyesi awọn orisun ti o jẹ nipasẹ awọn iṣẹ ṣiṣe, bii:
    • bandiwidi nẹtiwọki;
    • orisi ati "spindles" ti disks.
  • Iwulo lati ṣe afihan awọn pataki ti awọn iṣẹ lakoko idahun pajawiri, awọn ẹtọ ati awọn ipin ti awọn aṣẹ fun awọn orisun, eyiti o yanju nipa lilo awọn isinyi logalomomoise ni awọsanma kan.
  • Iwulo lati ni orukọ eniyan ti awọn apoti lati dinku akoko idahun si awọn ijamba ati awọn iṣẹlẹ
  • Ailagbara ti imuse ibigbogbo akoko kan ti Awari Iṣẹ; iwulo lati wa ni ajọṣepọ fun igba pipẹ pẹlu awọn iṣẹ ṣiṣe ti a gbalejo lori awọn ọmọ ogun ohun elo - nkan ti o yanju nipasẹ awọn adirẹsi IP “aimi” ti o tẹle awọn apoti, ati, bi abajade, iwulo fun isọpọ alailẹgbẹ pẹlu awọn amayederun nẹtiwọọki nla kan.

Gbogbo awọn iṣẹ wọnyi yoo nilo awọn iyipada pataki ti awọn solusan ti o wa tẹlẹ lati baamu wa, ati pe, ti ṣe ayẹwo iye iṣẹ, a rii pe a le ṣe agbekalẹ ojutu tiwa pẹlu isunmọ awọn idiyele laala kanna. Ṣugbọn ojutu rẹ yoo rọrun pupọ lati ṣiṣẹ ati idagbasoke - ko ni awọn abstractions ti ko wulo ti o ṣe atilẹyin iṣẹ ṣiṣe ti a ko nilo.

Si awọn ti o ka awọn ila ti o kẹhin, o ṣeun fun sũru ati akiyesi rẹ!

orisun: www.habr.com

Fi ọrọìwòye kun