Failover: foirfeachd agus... tha leisg gar sgrios

As t-samhradh, bidh an dà chuid gnìomhachd ceannach agus dian atharrachaidhean ann am bun-structar phròiseactan lìn gu traidiseanta a’ dol sìos, tha an Caiptean Obvious ag innse dhuinn. Dìreach air sgàth ‘s gu bheil eadhon eòlaichean IT uaireannan a’ dol air saor-làithean. Agus CTO cuideachd. Tha e nas duilghe buileach dhaibhsan a tha fhathast san dreuchd, ach chan e sin a’ phuing a-nis: is dòcha gur e sin as coireach gur e an samhradh an ùine as fheàrr airson smaoineachadh slaodach air an sgeama glèidhte a th’ ann agus plana a dhealbhadh airson a leasachadh. Agus eòlas Yegor Andreev bho Roinn-rianachd, air an do bhruidhinn e aig a’ cho-labhairt Latha uptime.

Tha grunn dhuilgheadasan ann as urrainn dhut tuiteam a-steach nuair a bhios tu a’ togail làraich cùl-taic. Agus tha e gu tur eu-comasach a bhith air an glacadh annta. Agus is e an rud a tha gar sgrios ann an seo uile, mar ann an iomadh rud eile, foirfeachd agus... leisg. Tha sinn a’ feuchainn ris a h-uile càil, a h-uile càil, a h-uile càil a dhèanamh gu foirfe, ach chan fheum sinn a dhèanamh gu foirfe! Chan fheum thu ach rudan sònraichte a dhèanamh, ach dèan iad ceart, lìon iad gus an obraich iad gu ceart.

Chan e rud èibhinn, spòrsail a th' ann am Failover; is e seo rud a bu chòir dìreach aon rud a dhèanamh - lughdaich ùine downt gus am bi an t-seirbheis, a’ chompanaidh, a ’call nas lugha de dh’ airgead. Agus anns a h-uile dòigh glèidhte, tha mi a 'moladh smaoineachadh anns a' cho-theacsa a leanas: càite a bheil an t-airgead?

Failover: foirfeachd agus... tha leisg gar sgrios

A 'chiad ribe: nuair a bhios sinn a' togail shiostaman mòra, earbsach agus a' dol an sàs ann an call obrach, bidh sinn a' lùghdachadh an àireamh de thubaistean. Is e mì-thuigse uamhasach a tha seo. Nuair a bhios sinn an sàs ann an call dreuchd, tha sinn dualtach an àireamh de thubaistean àrdachadh. Agus ma nì sinn a h-uile càil ceart, an uairsin le chèile lughdaichidh sinn ùine downt. Bidh barrachd thubaistean ann, ach tachraidh iad aig cosgaisean nas ìsle. Dè a th’ ann an glèidheadh? - tha seo na dhuilgheadas den t-siostam. Tha duilgheadas sam bith dona: tha barrachd cogaichean againn, barrachd ghèaraichean, ann am facal, barrachd eileamaidean - agus, mar sin, cothrom nas àirde de bhriseadh sìos. Agus bidh iad dha-rìribh a’ briseadh. Agus bidh iad a 'briseadh nas trice. Eisimpleir shìmplidh: canaidh sinn gu bheil làrach-lìn againn le PHP agus MySQL. Agus feumar a ghleidheadh ​​​​gu h-èiginneach.

Shtosh (c) Gabhaidh sinn an dàrna làrach, togaidh sinn siostam co-ionann... Bidh an iom-fhillteachd a' fàs dà uair cho mòr - tha dà bhuidheann againn. Bidh sinn cuideachd a’ sgaoileadh loidsig sònraichte airson a bhith a’ gluasad dàta bho aon làrach gu làrach eile - is e sin, ath-riochdachadh dàta, a’ dèanamh lethbhreac de dhàta statach, agus mar sin air adhart. Mar sin, tha an loidsig ath-riochdachadh mar as trice gu math toinnte, agus mar sin, chan urrainn iom-fhillteachd iomlan an t-siostam a bhith 2, ach 3, 5, 10 tursan nas motha.

An dàrna ribe: nuair a thogas sinn siostaman fìor mhòr iom-fhillte, bidh sinn a’ dèanamh fantasachadh air na tha sinn airson faighinn aig a’ cheann thall. Voila: tha sinn airson siostam fìor earbsach fhaighinn a bhios ag obair às aonais ùine downt sam bith, a ’tionndadh ann an leth diog (no nas fheàrr fhathast, sa bhad), agus tòisichidh sinn a’ toirt aislingean gu buil. Ach tha nuance ann an seo cuideachd: mar as giorra an ùine tionndaidh a tha thu ag iarraidh, is ann as iom-fhillte a thig loidsig an t-siostaim. Mar as iom-fhillte a dh'fheumas sinn an loidsig seo a dhèanamh, is ann as trice a bhriseas an siostam sìos. Agus faodaidh tu a thighinn gu crìch ann an suidheachadh gu math mì-thlachdmhor: tha sinn a’ feuchainn le ar n-uile oidhirp gus ùine downt a lughdachadh, ach gu dearbh tha sinn a’ dèanamh a h-uile càil nas toinnte, agus nuair a thèid rudeigin ceàrr, bidh an ùine downt nas fhaide. An seo gu tric bidh thu gad ghlacadh fhèin a’ smaoineachadh: uill... bhiodh e na b’ fheàrr gun a bhith glèidhte. Bhiodh e na b’ fheàrr nam biodh e ag obair leis fhèin agus le ùine downt a tha furasta a thuigsinn.

Ciamar as urrainn dhut seo a shabaid? Feumaidh sinn stad a bhith a’ laighe oirnn fhìn, stad a bhith a’ dèanamh rèidh oirnn fhìn gu bheil sinn a’ dol a thogail bàta-fànais an seo a-nis, ach a’ tuigsinn gu leòr dè cho fada ‘s as urrainn don phròiseact laighe. Agus airson na h-ùine as àirde seo, taghaidh sinn dè na dòighean a chleachdas sinn gus earbsachd ar siostam àrdachadh.

Failover: foirfeachd agus... tha leisg gar sgrios

Tha an t-àm ann airson “sgeulachdan bho w”... bho bheatha, gu dearbh.

Eisimpleir àireamh a h-aon

Smaoinich air làrach-lìn cairt gnìomhachais airson Pipe Rolling Plant No. 1 ann am baile-mòr N. Tha e ag ràdh ann an litrichean mòra - PIPE ROLLING PLANT No. 1. Dìreach gu h-ìosal tha an sluagh-ghairm: “Is iad na pìoban againn na pìoban as cruinne ann an N.” Agus gu h-ìosal tha àireamh fòn an Stiùiriche agus ainm. Tha sinn a’ tuigsinn gum feum thu glèidheadh ​​- is e rud glè chudromach a tha seo! Feuch an tòisich sinn a 'faighinn a-mach dè a th' ann. Html-statics - is e sin, dealbh no dhà far a bheil am manaidsear coitcheann, gu dearbh, a 'bruidhinn air an ath chùmhnant aig a' bhòrd anns an taigh-ionnlaid còmhla ri a chompanach. Bidh sinn a 'tòiseachadh a' smaoineachadh mu àm dùnaidh. Tha e a’ tighinn gu inntinn: feumaidh tu laighe an sin airson còig mionaidean, gun a bhith nas fhaide. Agus an uairsin tha a 'cheist ag èirigh: cia mheud reic a bha ann bhon làrach seo againn san fharsaingeachd? Cia mheud - cia mheud? Dè tha “zero” a’ ciallachadh? Agus tha sin a 'ciallachadh: oir rinn an coitcheann na ceithir gnothaichean an-uiridh aig an aon bhòrd, leis na h-aon daoine leis a bheil iad a' dol don taigh-ionnlaid agus a 'suidhe aig a' bhòrd. Agus tha sinn a 'tuigsinn, eadhon ged a bhios an làrach a' suidhe airson latha, cha tachair dad uamhasach.

Stèidhichte air an fhiosrachadh tòiseachaidh, tha latha ann airson an sgeulachd seo a thogail. Feuch an tòisich sinn a’ smaoineachadh air sgeama call obrach. Agus bidh sinn a’ taghadh an sgeama call obrach as fheàrr airson an eisimpleir seo: cha bhith sinn a’ cleachdadh call obrach. Faodar an rud gu lèir seo a thogail le rianadair sam bith ann an leth uair a thìde le briseadh ceò. Stàlaich frithealaiche lìn, cuir faidhlichean ris - sin e. Obraichidh e. Chan fheum thu sùil a chumail air rud sam bith, chan fheum thu aire shònraichte a thoirt do rud sam bith. Is e sin, tha an co-dhùnadh bho eisimpleir àireamh a h-aon gu math follaiseach: chan fheum seirbheisean nach fheum a bhith air an glèidheadh.

Failover: foirfeachd agus... tha leisg gar sgrios

Eisimpleir àireamh a dhà

Blog companaidh: bidh daoine le trèanadh sònraichte a 'sgrìobhadh naidheachdan an sin, ghabh sinn pàirt ann an leithid de thaisbeanadh, ach leig sinn a-mach toradh ùr eile, agus mar sin air adhart. Canaidh sinn gur e PHP àbhaisteach a tha seo le WordPress, stòr-dàta beag agus beagan statach. Gu dearbh, thig e nad inntinn a-rithist nach bu chòir dhut laighe sìos ann an suidheachadh sam bith - “gun a bhith nas fhaide na còig mionaidean!” Sin agad e. Ach smaoinich sinn nas fhaide. Dè nì am blog seo? Bidh daoine a 'tighinn an sin bho Yandex, bho Google stèidhichte air cuid de cheistean, gu h-organach. Sgoinneil. A bheil gnothach sam bith aig reic ris? Epiphany: chan eil gu dearbh. Bidh trafaig sanasachd a 'dol chun phrìomh làrach, a tha air inneal eadar-dhealaichte. Feuch an tòisich sinn a’ smaoineachadh air sgeama glèidhidh. Ann an dòigh mhath, feumar a thogail ann an uair no dhà, agus bhiodh e math ullachadh airson seo. Bhiodh e reusanta inneal a thoirt bho ionad dàta eile, an àrainneachd a roiligeadh air, is e sin, frithealaiche lìn, PHP, WordPress, MySQL, agus fhàgail an sin. Aig an àm seo nuair a thuigeas sinn gu bheil a h-uile càil briste, feumaidh sinn dà rud a dhèanamh - cuir a-mach an dump mysql 50 meatair, falbhaidh e ann am mionaid, agus cuir a-mach àireamh sònraichte de dhealbhan bhon chùl-taic an sin. Chan eil seo cuideachd ann oir tha fios aig Dia dè cho fada. Mar sin, ann an leth uair a thìde bidh an rud gu lèir ag èirigh. Gun ath-riochdachadh, no Dia math dhomh, fàiligeadh fèin-ghluasadach. Co-dhùnadh: chan fheum na rudan as urrainn dhuinn a chuir a-mach gu sgiobalta bho chùl-taic a bhith air an cumail suas.

Failover: foirfeachd agus... tha leisg gar sgrios

Eisimpleir àireamh a trì, nas iom-fhillte

Bùth air-loidhne. Tha PhP le cridhe fosgailte beagan tweaked, mysql le bunait làidir. Gu math statach (às deidh a h-uile càil, tha ìomhaighean HD breagha aig a ’bhùth air-loidhne agus a h-uile stuth sin), Redis airson an t-seisein agus Elasticsearch airson sgrùdadh. Bidh sinn a 'tòiseachadh a' smaoineachadh mu àm dùnaidh. Agus an seo, gu dearbh, tha e follaiseach nach urrainn do bhùth air-loidhne laighe timcheall gun phian airson latha. Às deidh na h-uile, mar as fhaide a tha e na laighe, is ann as motha a chailleas sinn airgead. Is fhiach a luathachadh. Cò mheud? Tha mi a’ smaoineachadh ma luidheas sinn sìos airson uair a thìde, cha tèid duine às mo chiall. Tha, caillidh sinn rudeigin, ach ma thòisicheas sinn ag obair gu cruaidh, chan fhàs e ach nas miosa. Bidh sinn a’ mìneachadh sgeama de dh’ ùine downt ceadaichte san uair.

Ciamar a ghabhas seo uile a ghleidheadh? Feumaidh tu càr co-dhiù: tha uair a thìde gu math beag. Mysql: an seo tha feum againn air ath-riochdachadh mu thràth, ath-riochdachadh beò, oir ann an uair a thìde cha bhith e coltach gun tèid 100 GB a chuir ris an dump. Staitistig, dealbhan: a-rithist, ann an uair is dòcha nach bi ùine aig 500 GB a chuir ris. Mar sin, tha e nas fheàrr na dealbhan a chopaigeadh sa bhad. Redis: seo far a bheil cùisean a’ fàs inntinneach. Ann an Redis, tha seiseanan air an stòradh - chan urrainn dhuinn dìreach a thoirt agus a thiodhlacadh. Oir cha bhi seo fìor mhath: bidh na h-uile luchd-cleachdaidh air an logadh a-mach, bidh na basgaidean aca air am falmhachadh, agus mar sin air adhart. Feumaidh daoine an t-ainm-cleachdaidh agus am facal-faire aca a chuir a-steach a-rithist, agus faodaidh mòran dhaoine briseadh air falbh agus gun crìoch a chuir air a’ cheannach. A-rithist, atharraichidh tu sìos. Air an làimh eile, tha Redis dìreach ùraichte, agus is dòcha nach eil feum air an luchd-cleachdaidh mu dheireadh a chaidh a logadh a-steach nas motha. Agus is e co-rèiteachadh math Redis a ghabhail agus a thoirt air ais bho chùl-taic bho an-dè, no, ma nì thu e a h-uile uair a thìde, o chionn uair a thìde. Gu fortanach, tha ath-nuadhachadh bho chùl-taic a 'ciallachadh a bhith a' dèanamh lethbhreac de aon fhaidhle. Agus is e Elasticsearch an sgeulachd as inntinniche. Cò a thog mac-samhail MySQL a-riamh? Cò a thog a-riamh mac-samhail Elasticsearch? Agus cò dha a bha e ag obair gu h-àbhaisteach às deidh sin? Is e a tha mi a’ ciallachadh gum faic sinn eintiteas sònraichte san t-siostam againn. Tha e coltach gu bheil e feumail - ach tha e iom-fhillte.
Iom-fhillte anns an fhaireachdainn nach eil eòlas aig ar co-innleadairean ag obair leis. No tha eòlas àicheil ann. No tha sinn a 'tuigsinn gur e teicneòlas meadhanach ùr a tha seo le nuances no rawness. Tha sinn a 'smaoineachadh ... Damn, elastic cuideachd fallain, tha e cuideachd a' toirt ùine fhada gus a thoirt air ais bho chùl-taic, dè a bu chòir dhomh a dhèanamh? Tha sinn a 'tuigsinn gu bheil elastic nar cùis air a chleachdadh airson rannsachadh. Ciamar a tha ar stòr air-loidhne a’ reic? Bidh sinn a’ dol gu luchd-margaidh agus a’ faighneachd cò às a tha daoine a’ tighinn. Bidh iad a’ freagairt: “Thig 90% bho Yandex Market gu dìreach chun chairt toraidh.” Agus an dara cuid bidh iad ga cheannach no nach eil. Mar sin, tha feum air rannsachadh le 10% de luchd-cleachdaidh. Agus a bhith a’ cumail ath-riochdachadh elastagach, gu sònraichte eadar diofar ionadan dàta ann an diofar shònaichean, tha tòrr nuances ann. Dè an t-slighe a-mach? Bidh sinn a 'toirt elastic bho làrach glèidhte agus cha dèan sinn dad leis. Ma thèid a’ chùis air adhart, is dòcha gun tog sinn e uaireigin, ach chan eil sin cinnteach. Gu fìrinneach, tha an co-dhùnadh mar an ceudna, plus no minus: chan eil sinn, a-rithist, a ’gleidheadh ​​​​seirbheisean nach toir buaidh air airgead. Gus an diagram a chumail nas sìmplidh.

Failover: foirfeachd agus... tha leisg gar sgrios

Eisimpleir àireamh ceithir, eadhon nas duilghe

Integrator: reic flùraichean, a 'gairm tacsaidh, a' reic bathar, san fharsaingeachd, rud sam bith. Droch rud a tha ag obair 24/7 airson àireamh mhòr de luchd-cleachdaidh. Le stac inntinneach làn-chuimsichte, far a bheil bunaitean inntinneach, fuasglaidhean, luchd àrd, agus as cudromaiche, bidh e a 'goirteachadh a bhith a' laighe sìos airson barrachd air 5 mionaidean. Chan ann a-mhàin agus chan ann mar sin air sgàth nach ceannaich daoine, ach leis gum faic daoine nach obraich an rud seo, fàsaidh iad troimh-chèile agus is dòcha nach till iad idir.

ceart gu leòr. Còig mionaidean. Dè tha sinn a’ dol a dhèanamh mu dheidhinn seo? Anns a 'chùis seo, bidh sinn, mar inbhich, a' cleachdadh an airgid gu lèir gus làrach cùl-taic fìor a thogail, le ath-riochdachadh a h-uile càil, agus 's dòcha fiù' s fèin-ghluasad a dhèanamh air an làrach seo cho mòr 'sa ghabhas. Agus a bharrachd air an seo, feumaidh tu cuimhneachadh gun dèan thu aon rud cudromach: gu dearbh, sgrìobh na riaghailtean tionndaidh. Faodaidh na riaghailtean, eadhon ged a tha a h-uile dad fèin-ghluasadach agad, a bhith gu math sìmplidh. Bhon t-sreath “ruith a leithid de sgriobt agus cho iomchaidh”, “cliog air a leithid de bhogsa sgrùdaidh ann an slighe 53” agus mar sin air adhart - ach feumaidh seo a bhith mar sheòrsa de liosta cheart de ghnìomhan.

Agus tha coltas gu bheil a h-uile dad soilleir. Is e obair bheag a th’ ann a bhith ag atharrachadh ath-riochdachadh, no atharraichidh e e fhèin. Tha ath-sgrìobhadh ainm àrainn ann an DNS bhon aon sreath. Is e an duilgheadas a th’ ann nuair a dh’ fhailicheas a leithid de phròiseact, gu bheil clisgeadh a’ tòiseachadh, agus gum faod eadhon an luchd-rianachd as làidire, feusagach a bhith buailteach dha. Às aonais stiùireadh soilleir “fosgail an inneal-crìochnachaidh, thig an seo, tha seòladh an fhrithealaiche againn fhathast mar seo," tha e duilich coinneachadh ris a’ chrìoch ùine 5-mionaidean a chaidh a shònrachadh airson ath-bheothachadh. Uill, a bharrachd, nuair a chleachdas sinn na riaghailtean sin, tha e furasta cuid de dh’ atharrachaidhean sa bhun-structair a chlàradh, mar eisimpleir, agus na riaghailtean atharrachadh a rèir sin.
Uill, ma tha an siostam glèidhidh glè iom-fhillte agus aig àm air choreigin rinn sinn mearachd, is urrainn dhuinn an làrach cùl-taic againn a sgrios, agus a bharrachd air an sin tionndaidh an dàta gu pumpkin air an dà làrach - bidh seo gu tur brònach.

Failover: foirfeachd agus... tha leisg gar sgrios

Eisimpleir àireamh a còig, crìoch cruaidh

Seirbheis eadar-nàiseanta le ceudan de mhilleanan de luchd-cleachdaidh air feadh an t-saoghail. Tha a h-uile sòn ùine ann, luchdan àrd aig an astar as àirde, chan urrainn dhut laighe sìos idir. Mionaid - agus bidh e brònach. Dè a nì thu? Glèidh, a-rithist, a rèir a’ phrògram slàn. Rinn sinn a h-uile dad air an do bhruidhinn mi san eisimpleir roimhe, agus beagan a bharrachd. Saoghal air leth math, agus tha ar bun-structar a rèir a h-uile bun-bheachd aig IaaC devops. Is e sin, tha a h-uile dad ann an git, agus cha leig thu leas ach am putan a bhrùthadh.

Dè tha a dhìth? Aon - eacarsaichean. Tha e eu-comasach às an aonais. Tha e coltach gu bheil a h-uile dad foirfe leinn, sa chumantas tha a h-uile càil againn fo smachd. Bidh sinn a 'bruthadh a' phutan, bidh a h-uile dad a 'tachairt. Fiù ma tha seo fìor - agus tha sinn a 'tuigsinn nach eil e a' tachairt mar seo - bidh an siostam againn ag eadar-obrachadh le cuid de shiostaman eile. Mar eisimpleir, is e seo dns bho shlighe 53, stòradh s3, amalachadh le cuid de api. Cha bhith e comasach dhuinn a h-uile dad fhaicinn san deuchainn tuairmeasach seo. Agus gus an tarraing sinn an suidse, cha bhi fios againn an obraich e no nach obraich.

Failover: foirfeachd agus... tha leisg gar sgrios

Is dòcha gur e sin uile. Na bi leisg no dèan cus dheth. Agus is dòcha gum bi uptime còmhla riut!

Source: www.habr.com

Cuir beachd ann