Mar a chaidil thu gu math nuair a tha seirbheis neòil agad: molaidhean ailtireil bunaiteach

Mar a chaidil thu gu math nuair a tha seirbheis neòil agad: molaidhean ailtireil bunaiteachAir chall le sophiagworld

Anns an artaigil seo tha cuid de phàtranan cumanta gus innleadairean a chuideachadh ag obair le seirbheisean mòra a gheibh milleanan de luchd-cleachdaidh. 

Ann an eòlas an ùghdair, chan e liosta iomlan a tha seo, ach gu dearbh èifeachdach comhairle. Mar sin, tòisichidh sinn.

Eadar-theangaichte le taic Mail.ru Cloud Solutions.

Ìre inntrigidh

Tha na ceumannan gu h-ìosal gu math sìmplidh a bhuileachadh ach tha buaidh àrd aca. Mura h-eil thu air feuchainn orra roimhe, bidh iongnadh ort mu na leasachaidhean mòra.

Bun-structair mar chòd

Is e a’ chiad phàirt den chomhairle bun-structar a chuir an gnìomh mar chòd. Tha seo a’ ciallachadh gum feum dòigh prògramaidh a bhith agad airson a’ bhun-structair gu lèir a chleachdadh. Tha e a’ faireachdainn toinnte, ach gu dearbh tha sinn a’ bruidhinn mun chòd a leanas:

Cleachdadh 100 inneal mas-fhìor

  • le Ubuntu
  • 2 GB de RAM gach fear
  • bidh an còd a leanas aca
  • leis na crìochan seo

Faodaidh tu sùil a chumail air atharrachaidhean sa bhun-structair agad agus tilleadh thuca gu sgiobalta a’ cleachdadh smachd dreach.

Tha an neach-nuadhachaidh annam ag ràdh gun urrainn dhut Kubernetes / Docker a chleachdadh airson a h-uile rud gu h-àrd a dhèanamh, agus tha e ceart.

A bharrachd air an sin, faodaidh tu fèin-ghluasad a thoirt seachad a’ cleachdadh Chef, Puppet no Terraform.

Amalachadh agus Lìbhrigeadh Leantainneach

Gus seirbheis scalable a chruthachadh, tha e cudromach gum bi loidhne-phìoban togail is deuchainn airson gach iarrtas tarraing. Fiù ma tha an deuchainn gu math sìmplidh, nì e cinnteach co-dhiù gu bheil an còd a chleachdas tu a’ cur ri chèile.

Gach uair aig an ìre seo freagair thu a’ cheist: an cuir an co-chruinneachadh agam ri chèile agus an tèid iad seachad air deuchainnean, a bheil e dligheach? Is dòcha gu bheil seo coltach ri bàr ìosal, ach bidh e a’ fuasgladh mòran dhuilgheadasan.

Mar a chaidil thu gu math nuair a tha seirbheis neòil agad: molaidhean ailtireil bunaiteach
Chan eil dad nas bòidhche na bhith a’ faicinn na breaban sin

Airson an teicneòlas seo faodaidh tu measadh a dhèanamh air Github, CircleCI no Jenkins.

Luchd-cothromachaidh

Mar sin, tha sinn airson cothromachadh luchdan a ruith gus trafaic ath-stiùireadh agus dèanamh cinnteach gum bi luchdan co-ionann air a h-uile nod no an t-seirbheis a’ leantainn gun fhios nach fàilligeadh:

Mar a chaidil thu gu math nuair a tha seirbheis neòil agad: molaidhean ailtireil bunaiteach
Mar as trice bidh cothromachadh luchdan a’ dèanamh obair mhath ann a bhith a’ cuairteachadh trafaic. Is e an cleachdadh as fheàrr a bhith ag ath-chothromachadh gus nach bi aon phuing fàiligeadh agad.

Mar as trice, bidh cothromairean luchdan air an rèiteachadh san sgòth a chleachdas tu.

RayID, ID co-dhàimh no UUID airson iarrtasan

An do thachair thu a-riamh ri mearachd tagraidh le teachdaireachd mar seo: “Chaidh rudeigin ceàrr. Sàbhail an id seo agus cuir chun sgioba taic againn"?

Mar a chaidil thu gu math nuair a tha seirbheis neòil agad: molaidhean ailtireil bunaiteach
Tha aithnichear sònraichte, ID co-dhàimh, RayID, no gin de na caochlaidhean, na aithnichear sònraichte a leigeas leat sùil a chumail air iarrtas fad a bheatha. Leigidh seo leat sùil a chumail air an t-slighe iarrtas gu lèir anns na logaichean.

Mar a chaidil thu gu math nuair a tha seirbheis neòil agad: molaidhean ailtireil bunaiteach
Bidh an neach-cleachdaidh a’ dèanamh iarrtas gu siostam A, an uairsin bidh A a’ conaltradh ri B, a chuireas fios gu C, ga stòradh ann an X, agus an uairsin thèid an t-iarrtas a thilleadh gu A

Nam biodh tu gu bhith a’ ceangal air astar ri innealan mas-fhìor agus a’ feuchainn ri slighe an iarrtais a lorg (agus co-cheangal a dhèanamh le làimh dè na fiosan a thathas a’ dèanamh), rachadh tu às mo chiall. Le bhith a’ faighinn aithnichear sònraichte nì e beatha fada nas fhasa. Is e seo aon de na rudan as sìmplidh as urrainn dhut a dhèanamh gus ùine a shàbhaladh fhad ‘s a tha an t-seirbheis agad a’ fàs.

Ìre eadar-mheadhanach

Tha a’ chomhairle an seo nas iom-fhillte na an fheadhainn a bh’ ann roimhe, ach tha na h-innealan ceart a’ dèanamh a’ ghnìomh nas fhasa, a’ toirt toradh air tasgadh eadhon dha companaidhean beaga is meadhanach.

Logadh meadhanaichte

Mealaibh ur naidheachd! Tha thu air 100 inneal brìgheil a chuir a-steach. An ath latha, thig an Ceannard agus gearain e mu mhearachd a fhuair e fhad ‘s a bha e a’ dèanamh deuchainn air an t-seirbheis. Tha e ag aithris an ID co-fhreagarrach air an do bhruidhinn sinn gu h-àrd, ach feumaidh tu coimhead tro logaichean 100 inneal gus am fear a dh’ adhbhraich an tubaist a lorg. Agus feumar a lorg ron taisbeanadh a-màireach.

Ged a tha seo coltach ri dàn-thuras spòrsail, tha e nas fheàrr dèanamh cinnteach gu bheil comas agad na h-irisean gu lèir a rannsachadh ann an aon àite. Dh ’fhuasgail mi an duilgheadas a thaobh a bhith a’ meadhanachadh logaichean a ’cleachdadh gnìomhachd togte a’ chruach ELK: tha e a ’toirt taic do chruinneachadh logaichean a ghabhas sgrùdadh. Cuidichidh seo gu mòr gus fuasgladh fhaighinn air an duilgheadas a thaobh lorg iris sònraichte. Mar bhuannachd, faodaidh tu clàran agus rudan spòrsail eile mar sin a chruthachadh.

Mar a chaidil thu gu math nuair a tha seirbheis neòil agad: molaidhean ailtireil bunaiteach
Gnìomh cruachan ELK

Luchd-ionaid sgrùdaidh

A-nis gu bheil an t-seirbheis agad ag obair, feumaidh tu dèanamh cinnteach gun ruith e gu rèidh. Is e an dòigh as fheàrr air seo a dhèanamh grunnan a ruith àidseantan, a bhios ag obair aig an aon àm agus a’ dèanamh cinnteach gu bheil e ag obair agus gu bheil obrachaidhean bunaiteach air an coileanadh.

Aig an ìre seo nì thu sgrùdadh air sin tha an togail ruith a’ faireachdainn math agus ag obair gu math.

Airson pròiseactan beaga is meadhanach, tha mi a’ moladh Postman airson sùil a chumail air agus clàradh APIan. Ach san fharsaingeachd, tha thu dìreach airson dèanamh cinnteach gu bheil dòigh agad fios a bhith agad nuair a tha briseadh a-mach air tachairt agus gum faigh thu fios ann an deagh àm.

Sgèileadh fèin-ghluasadach a rèir an luchd

Tha e gu math sìmplidh. Ma tha iarrtasan seirbheiseachaidh VM agad agus gu bheil e faisg air cleachdadh cuimhne 80%, faodaidh tu an dàrna cuid na goireasan aige àrdachadh no barrachd VMn a chur ris a’ bhuidheann. Tha coileanadh fèin-ghluasadach de na h-obraichean sin sàr-mhath airson atharrachaidhean cumhachd elastagach fo luchd. Ach bu chòir dhut an-còmhnaidh a bhith faiceallach mu na tha thu a’ cosg agus crìochan reusanta a shuidheachadh.

Mar a chaidil thu gu math nuair a tha seirbheis neòil agad: molaidhean ailtireil bunaiteach
Leis a’ mhòr-chuid de sheirbheisean sgòthan, faodaidh tu a rèiteachadh gu fèin-sgèile a’ cleachdadh barrachd frithealaichean no frithealaichean nas cumhachdaiche.

Siostam deuchainn

Is e dòigh mhath air ùrachaidhean a sgaoileadh gu sàbhailte a bhith comasach air rudeigin a dhearbhadh airson 1% de luchd-cleachdaidh airson uair a thìde. Tha thu, gu dearbh, air dòighean mar sin fhaicinn an gnìomh. Mar eisimpleir, bidh Facebook a’ sealltainn dath eadar-dhealaichte air pàirtean den luchd-èisteachd no ag atharrachadh meud a’ chruth-clò gus faicinn mar a bhios luchd-cleachdaidh a’ faicinn nan atharrachaidhean. Canar deuchainn A/B ris an seo.

Faodar eadhon feart ùr a leigeil ma sgaoil mar dheuchainn agus an uairsin co-dhùnadh ciamar a thèid a leigeil ma sgaoil. Gheibh thu cuideachd an comas “cuimhneachadh” no an rèiteachadh air a’ chuileag atharrachadh stèidhichte air a’ ghnìomh a tha ag adhbhrachadh truailleadh san t-seirbheis agad.

ìre adhartach

Seo molaidhean a tha gu math duilich a bhuileachadh. Is dòcha gu feum thu beagan a bharrachd ghoireasan, agus mar sin bidh ùine chruaidh aig companaidh beag no meadhanach mòr a’ riaghladh seo.

Cleachdaidhean gorm-uaine

Is e seo an rud ris an can mi an dòigh "Erlang" airson leudachadh. Chaidh Erlang a chleachdadh gu farsaing nuair a nochd companaidhean fòn. Thòisich Softswitches air an cleachdadh gus fiosan fòn a stiùireadh. B’ e prìomh adhbhar a’ bhathar-bog air na suidsichean sin gun a bhith a’ leigeil fiosan seachad aig àm ùrachadh an t-siostaim. Tha dòigh math aig Erlang modal ùr a luchdachadh gun a bhith a’ bualadh air an fhear roimhe.

Tha an ceum seo an urra ri làthaireachd neach-cothromachaidh luchdan. Smaoinich gu bheil dreach N den bhathar-bog agad, agus an uairsin gu bheil thu airson dreach N+1 a chleachdadh. 

Thu fhèin dh'fhaodamaid dìreach stad an t-seirbheis agus cuir a-steach an ath dhreach aig àm a dh’ obraicheas dha do luchd-cleachdaidh agus faigh beagan ùine downt. Ach saoil gu bheil agad dha-rìribh cumhachan teann SLA. Mar sin, tha SLA 99,99% a’ ciallachadh gun urrainn dhut a dhol far loidhne a-mhàin 52 mionaid sa bhliadhna.

Ma tha thu dha-rìribh ag iarraidh a leithid de chomharran a choileanadh, feumaidh tu dà chleachdadh aig an aon àm: 

  • am fear a tha an-dràsta (N);
  • an ath dhreach (N+1). 

Bidh thu ag innse don neach-cothromachaidh luchdan ceudad de thrafaig ath-stiùireadh chun dreach ùr (N+1) fhad ‘s a bhios tu gu gnìomhach a’ cumail sùil airson ath-thilleadh.

Mar a chaidil thu gu math nuair a tha seirbheis neòil agad: molaidhean ailtireil bunaiteach
An seo tha cleachdadh uaine N againn a tha ag obair gu math. Tha sinn a’ feuchainn ri gluasad chun ath dhreach den chleachdadh seo

An toiseach cuiridh sinn deuchainn fìor bheag a dh'fhaicinn a bheil an cleachdadh N+1 againn ag obair le glè bheag de thrafaig:

Mar a chaidil thu gu math nuair a tha seirbheis neòil agad: molaidhean ailtireil bunaiteach
Mu dheireadh, tha seata de sgrùdaidhean fèin-ghluasadach againn a ruitheas sinn mu dheireadh gus am bi an cleachdadh againn deiseil. Ma nì thu glè uabhasach faiceallach, faodaidh tu cuideachd an cleachdadh N agad a shàbhaladh gu bràth airson gluasad air ais gu sgiobalta gun fhios nach tig droch thilleadh air ais:

Mar a chaidil thu gu math nuair a tha seirbheis neòil agad: molaidhean ailtireil bunaiteach
Ma tha thu airson a dhol gu ìre eadhon nas adhartaiche, leig leis a h-uile càil san t-suidheachadh gorm-uaine ruith gu fèin-ghluasadach.

Lorg neo-riaghailteachd agus lasachadh fèin-ghluasadach

Leis gu bheil logadh meadhanach agad agus deagh chruinneachadh logaichean, faodaidh tu amasan nas àirde a shuidheachadh mu thràth. Mar eisimpleir, gu for-ghnìomhach ro-innse fàilligidhean. Bithear a’ cumail sùil air gnìomhan air sgrùdairean agus ann an logaichean agus tha diofar dhiagraman air an togail - agus faodaidh tu ro-innse ro-làimh dè a thèid ceàrr:

Mar a chaidil thu gu math nuair a tha seirbheis neòil agad: molaidhean ailtireil bunaiteach
Cho luath ‘s a lorgar neo-riaghailteachdan, tòisichidh tu a’ sgrùdadh cuid de na sanasan a tha an t-seirbheis a’ toirt seachad. Mar eisimpleir, dh’ fhaodadh gum bi spìc ann an luchd CPU a’ nochdadh gu bheil draibhear cruaidh a’ fàiligeadh, agus dh’ fhaodadh spìc ann an iarrtasan nochdadh gum feum thu àrdachadh. Leigidh an seòrsa dàta staitistigeil seo dhut an t-seirbheis a dhèanamh for-ghnìomhach.

Leis na lèirsinnean sin, faodaidh tu sgèile ann an tomhas sam bith agus feartan innealan, stòran-dàta, ceanglaichean agus goireasan eile atharrachadh gu for-ghnìomhach agus gu gnìomhach.

Sin e!

Sàbhalaidh an liosta phrìomhachasan seo tòrr dhuilgheadasan dhut ma tha thu a’ togail seirbheis neòil.

Tha ùghdar an artaigil thùsail a’ toirt cuireadh do luchd-leughaidh am beachdan fhàgail agus atharrachaidhean a dhèanamh. Tha an artaigil air a sgaoileadh mar stòr fosgailte, tarraing iarrtasan leis an ùghdar gabhail ri Github.

Dè eile a leughas tu air a’ chuspair:

  1. Rach agus CPU caches
  2. Kubernetes ann an spiorad spùinneadaireachd le teamplaid airson a bhuileachadh
  3. An sianal againn timcheall air Kubernetes ann an Telegram

Source: www.habr.com

Cuir beachd ann