Failover: pipé ati... Ọlẹ ti n ba wa jẹ

Ninu ooru, mejeeji iṣẹ rira ati kikankikan ti awọn ayipada ninu awọn amayederun ti awọn iṣẹ akanṣe wẹẹbu dinku ni aṣa, Captain kedere sọ fun wa. Nikan nitori paapaa awọn alamọja IT nigbakan lọ si isinmi. Ati CTO paapaa. Gbogbo rẹ ni o nira julọ fun awọn ti o wa ni ọfiisi, ṣugbọn iyẹn kii ṣe aaye ni bayi: boya iyẹn ni idi ti ooru jẹ akoko ti o dara julọ lati ronu laiyara nipa ero ifiṣura ti o wa tẹlẹ ati ṣe agbekalẹ ero lati mu ilọsiwaju rẹ. Ati awọn iriri ti Yegor Andreev lati Abojuto Pipin, eyiti o sọ nipa apejọ naa Uptime ọjọ.

Awọn ọfin pupọ lo wa ti o le ṣubu sinu nigba kikọ awọn aaye afẹyinti. Ati pe ko ṣee ṣe patapata lati mu ninu wọn. Ati pe ohun ti o ba wa run ni gbogbo eyi, gẹgẹbi ninu ọpọlọpọ awọn ohun miiran, ni pipe ati ... ọlẹ. A n gbiyanju lati ṣe ohun gbogbo, ohun gbogbo, ohun gbogbo ni pipe, ṣugbọn a ko nilo lati ṣe ni pipe! O nilo lati ṣe awọn nkan kan nikan, ṣugbọn ṣe wọn ni deede, pari wọn ki wọn ṣiṣẹ daradara.

Failover ni ko diẹ ninu awọn Iru fun, fun ohun; eyi jẹ ohun kan ti o yẹ ki o ṣe ohun kan gangan - dinku akoko isinmi ki iṣẹ naa, ile-iṣẹ naa, padanu owo diẹ. Ati ni gbogbo awọn ọna ifiṣura, Mo daba ronu ni ipo atẹle: nibo ni owo naa wa?

Failover: pipé ati... Ọlẹ ti n ba wa jẹ

Pakute akọkọ: nigba ti a ba kọ awọn ọna ṣiṣe ti o tobi, ti o gbẹkẹle ati ṣiṣe ni apọju, a dinku nọmba awọn ijamba. Eleyi jẹ a ẹru aburu. Nigba ti a ba ṣiṣẹ ni aiṣiṣẹpọ, a le ṣe alekun nọmba awọn ijamba. Ati pe ti a ba ṣe ohun gbogbo ti o tọ, lẹhinna ni apapọ a yoo dinku akoko isinmi. Awọn ijamba yoo wa diẹ sii, ṣugbọn wọn yoo waye ni awọn idiyele kekere. Kini ifiṣura? - eyi jẹ ilolu ti eto naa. Eyikeyi ilolu jẹ buburu: a ni diẹ ẹ sii cogs, diẹ murasilẹ, ni ọrọ kan, diẹ eroja – ati, nitorina, kan ti o ga anfani ti didenukole. Ati pe wọn yoo fọ gaan. Ati pe wọn yoo fọ diẹ sii nigbagbogbo. Apeere ti o rọrun: jẹ ki a sọ pe a ni oju opo wẹẹbu kan pẹlu PHP ati MySQL. Ati pe o nilo lati wa ni ipamọ ni kiakia.

Shtosh (c) A gba aaye keji, kọ eto kanna kan… Idiju naa di ilọpo meji nla - a ni awọn nkan meji. A tun gbe ọgbọn kan jade fun gbigbe data lati aaye kan si omiiran - iyẹn ni, ẹda data, didakọ data aimi, ati bẹbẹ lọ. Nitorinaa, ọgbọn atunwi jẹ eka pupọ nigbagbogbo, ati nitorinaa, lapapọ eka ti eto ko le jẹ 2, ṣugbọn awọn akoko 3, 5, 10 tobi julọ.

Pakute keji: nigba ti a ba kọ gan tobi eka awọn ọna šiše, a fantasize nipa ohun ti a fẹ lati gba ni opin. Voila: a fẹ lati gba eto igbẹkẹle ti o ga julọ ti o ṣiṣẹ laisi eyikeyi akoko idinku, yipada ni idaji iṣẹju-aaya (tabi dara julọ sibẹsibẹ, lẹsẹkẹsẹ), ati pe a bẹrẹ lati jẹ ki awọn ala ṣẹ. Ṣugbọn nuance tun wa nibi: kuru akoko iyipada ti o fẹ, eka diẹ sii ni oye eto naa di. Awọn eka diẹ sii ti a ni lati ṣe ọgbọn yii, diẹ sii nigbagbogbo eto naa yoo fọ lulẹ. Ati pe o le pari ni ipo ti ko dun pupọ: a n gbiyanju pẹlu gbogbo agbara wa lati dinku akoko isinmi, ṣugbọn ni otitọ a n ṣe ohun gbogbo diẹ sii idiju, ati nigbati nkan kan ba jẹ aṣiṣe, akoko isinmi yoo pari ni pipẹ. Nibi o nigbagbogbo mu ara rẹ ni ero: daradara… yoo dara lati ma ṣe ifiṣura kan. Yoo dara julọ ti o ba ṣiṣẹ nikan ati pẹlu akoko idinku oye.

Bawo ni o ṣe le ja eyi? A nilo lati dẹkun purọ fun ara wa, dawọ ṣe ipọnni fun ara wa pe a yoo kọ ọkọ oju-omi aaye kan nibi ni bayi, ṣugbọn loye ni pipe bi iṣẹ akanṣe le ṣe pẹ to. Ati fun akoko ti o pọ julọ, a yoo yan awọn ọna wo ni a yoo lo lati mu igbẹkẹle ti eto wa pọ si.

Failover: pipé ati... Ọlẹ ti n ba wa jẹ

O to akoko fun “awọn itan lati w”… lati igbesi aye, dajudaju.

Apeere nọmba ọkan

Fojuinu oju opo wẹẹbu kaadi iṣowo kan fun Pipe Rolling Plant No.. 1 ni ilu N. O sọ ni awọn lẹta nla - PIPE ROLLING PLANT No.. 1. O kan ni isalẹ ni ọrọ-ọrọ: “Awọn paipu wa jẹ awọn paipu yika julọ ni N.” Ati ni isalẹ ni nọmba foonu CEO ati orukọ rẹ. A ye wa pe o nilo lati ṣe ifiṣura - eyi jẹ ohun pataki pupọ! Jẹ ká bẹrẹ lati ro ero ohun ti o oriširiši. Html-statics - iyẹn ni, awọn aworan meji nibiti oludari gbogbogbo, ni otitọ, n jiroro diẹ ninu iru adehun atẹle ni tabili ni ile iwẹ pẹlu alabaṣepọ rẹ. A bẹrẹ lati ro nipa downtime. O wa si ọkan: o nilo lati dubulẹ nibẹ fun iṣẹju marun, ko si siwaju sii. Ati lẹhinna ibeere naa waye: awọn tita melo ni o wa lati aaye ti wa ni gbogbogbo? Elo - melo ni? Kini "odo" tumọ si? Ati pe eyi tumọ si: nitori pe gbogbogbo ṣe gbogbo awọn iṣowo mẹrin ni ọdun to koja ni tabili kanna, pẹlu awọn eniyan kanna pẹlu ẹniti wọn lọ si ile iwẹ ati joko ni tabili. Ati pe a loye pe paapaa ti aaye naa ba joko fun ọjọ kan, ko si ohun ẹru ti yoo ṣẹlẹ.

Da lori alaye iforowero, ọjọ kan wa lati gbe itan yii ga. Jẹ ká bẹrẹ lerongba nipa a apọju eni. Ati pe a yan ero isọdọtun ti o dara julọ fun apẹẹrẹ yii: a ko lo apọju. Gbogbo nkan yii le dide nipasẹ abojuto eyikeyi ni idaji wakati kan pẹlu awọn fifọ ẹfin. Fi sori ẹrọ olupin wẹẹbu kan, ṣafikun awọn faili – iyẹn ni. Yoo ṣiṣẹ. O ko nilo lati tọju oju lori ohunkohun, iwọ ko nilo lati san ifojusi pataki si ohunkohun. Iyẹn ni, ipari lati apẹẹrẹ nọmba ọkan jẹ kedere: awọn iṣẹ ti ko nilo lati wa ni ipamọ ko nilo lati wa ni ipamọ.

Failover: pipé ati... Ọlẹ ti n ba wa jẹ

Apeere nọmba meji

Bulọọgi ile-iṣẹ: awọn eniyan ti o ni ikẹkọ pataki kọ awọn iroyin nibẹ, a ṣe alabapin ninu iru ati iru aranse, ṣugbọn a tu ọja tuntun miiran, ati bẹbẹ lọ. Jẹ ki a sọ pe eyi jẹ boṣewa PHP pẹlu Wodupiresi, aaye data kekere kan ati diẹ ti aimi. Nitoribẹẹ, o tun wa si ọkan pe o yẹ ki o dubulẹ labẹ ọran kankan - “ko ju iṣẹju marun lọ!” Iyẹn ni gbogbo. Ṣugbọn jẹ ki a ronu siwaju sii. Kini bulọọgi yii ṣe? Eniyan wa nibẹ lati Yandex, lati Google da lori diẹ ninu awọn ibeere, Organic. Nla. Ṣe awọn tita ni nkankan lati ṣe pẹlu rẹ? Epiphany: kii ṣe looto. Awọn ijabọ ipolowo lọ si aaye akọkọ, eyiti o wa lori ẹrọ ti o yatọ. Jẹ ká bẹrẹ lerongba nipa a fowo si eni. Ni ọna ti o dara, o nilo lati gbe soke ni awọn wakati meji, ati pe yoo dara lati mura silẹ fun eyi. Yoo jẹ ohun ti o bọgbọnwa lati mu ẹrọ kan lati ile-iṣẹ data miiran, yi agbegbe naa sori rẹ, iyẹn ni, olupin wẹẹbu kan, PHP, WordPress, MySQL, ki o fi silẹ nibẹ. Ni akoko ti a ba loye pe ohun gbogbo ti bajẹ, a nilo lati ṣe awọn nkan meji - yipo mysql dump 50 mita, yoo fo sibẹ ni iṣẹju kan, ati yiyi nọmba kan ti awọn aworan lati afẹyinti nibẹ. Eleyi jẹ tun ko wa nibẹ fun Ọlọrun mọ bi o gun. Bayi, ni idaji wakati kan gbogbo ohun naa dide. Ko si ẹda, tabi Ọlọrun dariji mi, ikuna laifọwọyi. Ipari: ohun ti a le yara jade lati afẹyinti ko nilo lati ṣe afẹyinti.

Failover: pipé ati... Ọlẹ ti n ba wa jẹ

Apeere nọmba mẹta, diẹ idiju

Online itaja. PhP pẹlu ọkan ṣiṣi jẹ tweaked kekere kan, mysql pẹlu ipilẹ to lagbara. Pupọ pupọ ti aimi (lẹhinna gbogbo, ile itaja ori ayelujara ni awọn aworan HD lẹwa ati gbogbo nkan yẹn), Redis fun igba ati Elasticsearch fun wiwa. A bẹrẹ lati ro nipa downtime. Ati nihin, nitorinaa, o han gbangba pe ile itaja ori ayelujara ko le dubulẹ ni ayika laisi irora fun ọjọ kan. Lẹhinna, bi o ṣe pẹ to, diẹ sii owo ti a padanu. O tọ lati yara yara. Elo ni? Mo ro pe ti a ba dubulẹ fun wakati kan, ko si ẹnikan ti yoo ya were. Bẹẹni, a yoo padanu nkankan, ṣugbọn ti a ba bẹrẹ ṣiṣẹ takuntakun, yoo ma buru si. A ṣe ipinnu ero ti akoko idaduro ti a gba laaye fun wakati kan.

Bawo ni gbogbo eyi ṣe le wa ni ipamọ? O nilo ọkọ ayọkẹlẹ ni eyikeyi ọran: wakati kan ti akoko jẹ ohun kekere. Mysql: nibi a ti nilo atunṣe tẹlẹ, ẹda ifiwe, nitori ni wakati kan 100 GB yoo ṣeese kii ṣe afikun si idalẹnu naa. Awọn iṣiro, awọn aworan: lẹẹkansi, ni wakati kan 500 GB le ma ni akoko lati ṣafikun. Nitorina, o jẹ dara lati da awọn aworan lẹsẹkẹsẹ. Redis: Eyi ni ibi ti awọn nkan ti dun. Ni Redis, awọn akoko ti wa ni ipamọ - a ko le gba nikan ki a sin. Nitori eyi kii yoo dara pupọ: gbogbo awọn olumulo yoo jade, awọn agbọn wọn yoo di ofo, ati bẹbẹ lọ. Awọn eniyan yoo fi agbara mu lati tun tẹ orukọ olumulo ati ọrọ igbaniwọle wọn sii, ati pe ọpọlọpọ eniyan le ya kuro ki o ma pari rira naa. Lẹẹkansi, awọn iyipada yoo lọ silẹ. Ni apa keji, Redis ti wa ni imudojuiwọn taara, pẹlu awọn olumulo ti o wọle kẹhin boya ko nilo boya. Ati pe adehun ti o dara ni lati mu Redis ati mu pada lati afẹyinti lati lana, tabi, ti o ba ṣe ni gbogbo wakati, lati wakati kan sẹhin. O da, mimu-pada sipo lati afẹyinti tumọ si didakọ faili kan. Ati itan ti o nifẹ julọ ni Elasticsearch. Tani o ti gba ẹda MySQL tẹlẹ? Tani o ti gba ẹda Elasticsearch tẹlẹ? Ati fun tani o ṣiṣẹ deede lẹhin? Ohun ti Mo tumọ si ni pe a rii nkan kan ninu eto wa. O dabi pe o wulo - ṣugbọn o jẹ eka.
Eka ni ori ti awọn ẹlẹrọ ẹlẹgbẹ wa ko ni iriri ṣiṣẹ pẹlu rẹ. Tabi iriri odi kan wa. Tabi a loye pe eyi tun jẹ imọ-ẹrọ tuntun ti iṣẹtọ pẹlu awọn nuances tabi aise. A ro ... Damn, rirọ tun ni ilera, o tun gba akoko pipẹ lati mu pada lati afẹyinti, kini o yẹ ki n ṣe? A loye pe rirọ ninu ọran wa ni a lo fun wiwa. Bawo ni ile itaja ori ayelujara wa ṣe n ta? A lọ si awọn onijaja ati beere ibi ti awọn eniyan ti wa ni apapọ. Wọn dahun: "90% lati Yandex Market wa taara si kaadi ọja." Ati boya wọn ra tabi wọn ko ṣe. Nitorinaa, wiwa nilo nipasẹ 10% awọn olumulo. Ati ṣiṣe atunṣe rirọ, ni pataki laarin awọn ile-iṣẹ data oriṣiriṣi ni awọn agbegbe oriṣiriṣi, gaan ni ọpọlọpọ awọn nuances. Ijade wo? A ya rirọ lati kan ni ipamọ ojula ati ki o ṣe ohunkohun pẹlu ti o. Ti ẹjọ naa ba fa siwaju, a le gbe e soke ni ọjọ kan, ṣugbọn iyẹn ko daju. Ni otitọ, ipari jẹ kanna, pẹlu tabi iyokuro: a, lẹẹkansi, ko ṣe ifipamọ awọn iṣẹ ti ko ni ipa lori owo. Lati jẹ ki aworan atọka rọrun.

Failover: pipé ati... Ọlẹ ti n ba wa jẹ

Apeere nọmba mẹrin, ani diẹ soro

Integrator: tita awọn ododo, pipe takisi, ta awọn ọja, ni apapọ, ohunkohun. Ohun pataki kan ti o ṣiṣẹ 24/7 fun nọmba nla ti awọn olumulo. Pẹlu akopọ ti o nifẹ ni kikun, nibiti awọn ipilẹ ti o nifẹ wa, awọn ojutu, ẹru giga, ati pataki julọ, o dun lati dubulẹ fun diẹ sii ju awọn iṣẹju 5 lọ. Kii ṣe nikan ati kii ṣe pupọ nitori awọn eniyan kii yoo ra, ṣugbọn nitori awọn eniyan yoo rii pe nkan yii ko ṣiṣẹ, wọn yoo binu ati pe o le ma pada wa rara.

O DARA. Iṣẹju marun. Kini a yoo ṣe nipa eyi? Ni idi eyi, a, bi awọn agbalagba, lo gbogbo owo lati kọ aaye afẹyinti gidi, pẹlu atunṣe ohun gbogbo, ati boya paapaa yiyi pada si aaye yii bi o ti ṣee ṣe. Ati ni afikun si eyi, o nilo lati ranti lati ṣe ohun pataki kan: ni otitọ, kọ awọn ilana iyipada. Awọn ilana, paapaa ti o ba ni ohun gbogbo ni adaṣe, le rọrun pupọ. Lati jara “ṣiṣẹ iru ati iru iwe afọwọkọ ti o ṣeeṣe”, “tẹ iru ati iru apoti ayẹwo ni ipa-ọna 53” ati bẹbẹ lọ - ṣugbọn eyi gbọdọ jẹ iru atokọ gangan ti awọn iṣe.

Ati pe ohun gbogbo dabi kedere. Yiyipada atunṣe jẹ iṣẹ-ṣiṣe kekere, tabi yoo yipada funrararẹ. Atunkọ orukọ ìkápá kan ni DNS jẹ lati inu jara kanna. Wahala ni pe nigbati iru iṣẹ akanṣe ba kuna, ijaaya bẹrẹ, ati paapaa ti o lagbara julọ, awọn abojuto irungbọn le ni ifaragba si. Laisi awọn ilana ti o han gbangba “ṣii ebute, wa nibi, adirẹsi olupin wa tun jẹ eyi,” o ṣoro lati pade opin akoko iṣẹju 5 ti a pin fun isọdọtun. O dara, pẹlu, nigba ti a ba lo awọn ilana wọnyi, o rọrun lati ṣe igbasilẹ diẹ ninu awọn ayipada ninu awọn amayederun, fun apẹẹrẹ, ati yi awọn ilana pada ni ibamu.
O dara, ti eto ifiṣura jẹ idiju pupọ ati ni aaye kan a ṣe aṣiṣe kan, lẹhinna a le pa aaye afẹyinti wa run, ati ni afikun tan data sinu elegede lori awọn aaye mejeeji - eyi yoo jẹ ibanujẹ patapata.

Failover: pipé ati... Ọlẹ ti n ba wa jẹ

Nọmba apẹẹrẹ marun, hardcore pipe

Iṣẹ ilu okeere pẹlu awọn ọgọọgọrun miliọnu awọn olumulo ni ayika agbaye. Gbogbo awọn agbegbe akoko ti o wa, fifuye giga ni iyara ti o pọju, o ko le dubulẹ rara. Iṣẹju kan - ati pe yoo jẹ ibanujẹ. Kin ki nse? Ṣe ipamọ, lẹẹkansi, ni ibamu si eto kikun. A ṣe ohun gbogbo ti mo ti sọrọ nipa ninu awọn ti tẹlẹ apẹẹrẹ, ati kekere kan diẹ sii. Aye pipe, ati awọn amayederun wa ni ibamu si gbogbo awọn imọran ti IaaC devops. Iyẹn ni, ohun gbogbo wa ni git, ati pe o kan tẹ bọtini naa.

Ki lo sonu? Ọkan - awọn adaṣe. Ko ṣee ṣe laisi wọn. O dabi pe ohun gbogbo ni pipe pẹlu wa, gbogbo wa ni ohun gbogbo labẹ iṣakoso. A tẹ bọtini naa, ohun gbogbo ṣẹlẹ. Paapa ti eyi ba jẹ bẹ - ati pe a loye pe ko ṣẹlẹ ni ọna yii - eto wa ṣe ajọṣepọ pẹlu awọn eto miiran. Fun apẹẹrẹ, eyi jẹ dns lati ipa ọna 53, ibi ipamọ s3, iṣọpọ pẹlu diẹ ninu api. A kii yoo ni anfani lati rii ohun gbogbo tẹlẹ ninu idanwo akiyesi yii. Ati titi ti a fi fa iyipada gangan, a kii yoo mọ boya yoo ṣiṣẹ tabi rara.

Failover: pipé ati... Ọlẹ ti n ba wa jẹ

Boya iyẹn ni gbogbo rẹ. Maṣe jẹ ọlẹ tabi ṣe apọju rẹ. Ati pe akoko akoko wa pẹlu rẹ!

orisun: www.habr.com

Fi ọrọìwòye kun