Failover i thjeshtë për uebfaqen (monitorim + DNS dinamik)

Në këtë artikull, do të tregoj se sa lehtë dhe falas është të krijoni një skemë failover për një faqe interneti (ose çdo shërbim tjetër në internet) me një kombinim monitorimi okerr dhe shërbimi DNS dinamik. Kësisoj, në rast të çdo problemi me faqen kryesore (nga një problem me 'PHP Error' në faqe, deri tek mungesa e hapësirës ose thjesht një numër të dyshimtë të porosive në rastin e një dyqani online), vizitorët e rinj do të drejtohen në serverin e dytë (të tretë, e kështu me radhë) që është shumë funksional, ose në një faqe 'Na falni', ku do t'u shpjegohet në mënyrë të sjellshme se 'ka një problem, jemi të informuar dhe po e rregullojmë, do ta rregullojmë shpejt' (dhe në këtë rast, ju do të jeni në të vërtetë të informuar dhe do të mund ta rregulloni).

Të jetosh me failover apo pa të?

Derisa ndodh ndonjë problem, nuk ka ndonjë ndryshim të madh. Por kur ndodhi, pa failover, shpesh ndodhi kjo: përpiqeni të kuptoni shpejt çfarë ka ndodhur, por nuk arrini (kopjet rezervë nuk rikuperohen, programi nuk funksionon siç është përshkruar në dokumentacion, etj.), dhe koha mungon, serverat-faqet bien, klientët telefonojnë, të gjitha janë në nerva, përpiqeni ta riparoni ndonjë mënyrë, pastaj duket se nis me ndihmën e një mbështetjeje dhe vazhdon. Mendoni se në një kohë do të duhet të hetoni më në detaje dhe të rregulloni gjithçka bukur, por nuk ka gjë më të përhershme se e përkohshmja.

Tani, si ndodh kjo në një version të bukur me failover:

  • Ndodh një gabim
  • Gabimi zbullohet automatikisht
  • Dërgohet një njoftim
  • Kalon në një nga serverat rezervë
  • Çështja shqyrtohet qetësisht dhe pa panikë, rregullohet dhe serveri rikthehet në funksion.

Në këtë skemë, sigurisht që mund të shfaqen disa probleme, por megjithatë, skema është lineare, çdo fazë këtu është e thjeshtë dhe më e rëndësishmja — mund të rregullohet veçmas, kështu që shansi për dështimin e kësaj skeme është shumë më i ulët, dhe të gjitha veprimet mund të automatizohen dhe të ekzekutohen shpejt (në krahasim me detyrën e gjetjes dhe rregullimit të një problemi të panjohur epik). Aviacioni juaj ka ulur në një vend të largët, ju ndizni telefonin dhe shihni në Telegram një njoftim se serveri ka rënë, por gjithçka është në rregull, serveri rezervë është aktivizuar, mund të vazhdoni udhëtimin tuaj, nuk nevojitet të fluturoni mbrapsht, as të rreguloni përmes SSH nga kafeneja më e afërt me WiFi. Do të merakoseni për këtë kur të jetë më e përshtatshme.

E ardhmja është këtu!

Më parë, problemi kryesor që e bënte dështimin një zgjidhje të papranueshme shpesh ishte kostoja e lartë. Duhej të blije pajisje të shtrenjta (dhe të ftoje specialistë edhe më të shtrenjtë). Ose të përdoreshin zgjidhje të komplikuara sipas udhëzimeve (kam hasur madje një rast kur dy serverë lidhen duke përdorur një kabllo null-modem dhe dërgojnë heartbeat për të informuar serverin rezervë për të rimarrë kontrollin në momentin e duhur). Tani ka mënyra më të thjeshta dhe falas. Nëse keni një faqe interneti me mace, nuk keni justifikim nëse ende nuk e keni implementuar dështimin për të!

Po ashtu, për planin e dështimit nevojitet edhe një server (apo ndoshta edhe më shumë) dhe më parë kjo ishte një kosto e madhe, tani mund të merrni një VDS për pak para.

Faqja më e besueshme me mace

Për një ilustërim praktik të zgjidhjes me okerr + dynamic dns, ne kemi nisur faqen tonë me mace. cat.okerr.com. Ne i duam për macet, prandaj ato nuk do të jenë aty. Ka gjithsej tre faqe, çdo njëra duket përafërsisht e njëjtë (të gjitha në një model), por me maca të ndryshme për t'u dalluar lehtësisht, dhe çdo njëra shkruan informacion teknik për të parë se si funksionon failover. Faqja përditësohet automatikisht çdo 1 minutë, por gjithmonë mund të klikoni për të rifreskuar në shfletues.

Në informacionin teknik ka një rresht “status=OK”. Herë pas here serverat simulojnë probleme dhe shkruajnë status=ERR. Serveri kryesor “shkon në rrënie” në 20 minuta të çdo ore (0:20, 1:20, 2:20, ...). Serveri rezervë (backup) në 40 minuta. Serveri i fundit (“sorry”-server) funksionon gjithmonë. Në 0 minuta të çdo ore, serverët kryesor dhe rezervë “rikthehen”.

Failover i thjeshtë për uebfaqen (monitorim + DNS dinamik)

Nëse hapni faqen e internetit dhe e lini në skedën tuaj, do të shihni se ajo kurrë nuk bie (ndonëse çdo server i veçantë simulon një problem herë pas here), dhe në rast se ka një problem me serverin, thjesht "shkonte" midis serverëve aktivë. Do të ndryshojë imazhi, emri dhe adresa e serverit dhe roli i tij. Ndonjëherë mund të kapni momentin kur statusi = ERR (problemi tashmë ekziston, por i gjithë skema e failover nuk ka funksionuar ende), por përditësimi i ardhshëm do t'ju tregojë një faqe nga një server funksional.

Failover në okerr + dynamic DNS

Le t'i hedhim një sy se si funksionon kjo nga brenda. Detyra e failover është që adresa cat.okerr.com të tregojë gjithmonë IP-në e serverit funksional.
Pas çdo serveri që mbështet faqen tonë të koteleve në okerr ka një indikator, i cili kontrollon gjendjen e tij çdo minutë.

Failover i thjeshtë për uebfaqen (monitorim + DNS dinamik)

Në këtë ekran shohim si kontrollohet faqja cat.okerr.com nga serveri alpha.okerr.com. Faqja duhet të ketë statusin status=OK, dhe siç e shohim në krye, statusi i indikatorit është aktualisht OK. Kur serveri “dëmtohet”, do të ketë ERR. (Kjo është vetëm një shembull i indikatorit, okerr është një monitorim, kështu që mund të përdoren çdo lloj tipi indikatorësh, për shembull, kontrollimi i hapësirës së lirë në disk, numri i porosive të reja në bazë, dhe madje indikatorë logjikë, për shembull, natën do të jenë një kriter gabimi, ndersa gjatë ditës kriterë të tjerë).

Në cilësimet e projektit kemi krijuar një skemë të failover me këta indikatorë:

Failover i thjeshtë për uebfaqen (monitorim + DNS dinamik)

Në skemë ka tre indikatorë (tre serverë), të ndryshëm sipas prioritetit. Serveri kryesor për faqen është charlie, nëse ai nuk funksionon (nuk do të ketë “status=OK” ose thjesht nuk është i qasshëm), atëherë bravo dhe në rastin e fundit — alpha. Në anën e djathtë të faqes tregohet gjendja e regjistrit DNS në serverë të ndryshëm.

Për ata që e panë se përdoret emri cat.he.okerr.com: Ne përdorim një skemë pak më të komplikuar. Në vend që thjesht të ndryshonim regjistrin DNS cat.okerr.com, ne ndryshojmë cat.he.okerr.com (në Dynamic DNS provider Hurricane Electric), cat.okerr.com — është një CNAME (alias) që nuk ndryshon, gjithmonë tregon në cat.he.okerr.com. Hurricane na pëlqen më shumë si DNS dinamik, dhe ka çelësa për menaxhimin e një regjistrimi të veçantë (nuk e gjithë zonën), na duket më e sigurt. Ju gjithashtu mund të mos jepni çelësa fjalëkalimi në okerr për menaxhimin e tërë domenit, por vetëm për subdomenin ose regjistrimin.

Nga rënia në ngritje

Hapat, si funksionon ky sistem:

  1. Ndeshet (simulohet) një problem në server
  2. Sensorët okerr kontrollojnë gjendjen e çdo serveri një herë në minutë dhe raportojnë në serverin kryesor të projektit në okerr
  3. Indikatori përkatës i serverit ndryshon gjendjen nga OK në ERR
  4. Me ndryshimin e statusit të indikatorit, bëhet ritranshikimi, llogaritet se cili adresë duhet të vendoset (nëse është e nevojshme. Për shembull, nëse serveri kryesor punon, dhe gjatë kësaj kohe serveri rezervë ka ndërruar — nuk do të ketë asnjë ndryshim)
  5. Kjo adresë raportohet në shërbimin dynamic dns. Pasi të përfundojë ky etap, në anën e djathtë do të shihni statusin “synced”
  6. Shumë shpejt (në sekonda) regjistrimi do të arrijë në serverët DNS të domenit tuaj (për sitin e katit janë ns1-ns5.he.net).
  7. Që nga ky moment, disa përdorues do të fillojnë të hyjnë në serverin e ri të drejtpërdrejtë. Por akoma nuk të gjithë serverët DNS në botë kanë përditësuar regjistrimet, dhe ndoshta diku ende është e ruajtur regjistrimi i mëparshëm. Mund të shihet se si të dhënat në serverët publikë DNS "këndojnë", duke treguar herë një vlerë të re, herë një të vjetër. Nëse e përditësoni faqen e cilësimeve të failover, sistemi do të kërkojë vetë të dhëna të reja nga serverët DNS.
  8. Pas stabilizimit të të dhënave, regjistrimi i vjetër i ruajtur gjithandej do të skadojë — 100% e kërkesave do të shkojnë në serverin e ri.

Për të përshpejtuar fazën 7 ( shpesh faza më e gjatë), TTL i regjistrimit dinamik DNS duhet të vendoset sa më poshtë që të jetë e mundur. Zakonisht, shërbimet lejojnë intervale prej 90-120 sekondash. Ky është një kompromis krejtësisht i arsyeshëm.

Shtesë

Të gjitha këto mund të konfigurohen brenda një mbrëmjeje (nëse keni tashmë një server dublues). Edhe okerr dhe shërbimet e DNS-it dinamik janë falas. Për të marrë më shumë kontrolle në okerr dhe një periudhë kontrolli më të shkurtër, duhet të kaloni një trajnim (nga faqja e profilit). Pas përfundimit të tij, niveli rritet menjëherë (20 tregues për një orë + 1 i shpejtë, 10 minuta). Nëse këto nuk janë të mjaftueshme - shkruani në support@okerr.com, shumë mundësi janë për ta rritur (deri tani gjithmonë ka pasur mundësi, asnjëherë nuk është refuzuar, përkundrazi, vetë ka propozuar). Thjesht në fillim nuk dua të premtoj çdo gjë për të gjithë, nuk jam i sigurt se do të mjaftojnë kapacitetet për të mbajtur fjalën. Por për momentin përdoruesit janë pak, kështu që nuk ka probleme me rritjen e kufijve.

Çfarë mund të bëjë okerr në përgjithësi - shikoni në faqen e internetit një prezantim. Në thelb, ky është një monitorim (zabbix nga re), dhe file storing është një funksion shtesë i këndshëm. Gjithashtu nga faqja mund të hyni në demo pa u regjistruar.

Kur ndodhin ndryshime në gjendjen e indikatorëve — dërgohet një njoftim në email ose Telegram. (Ne e kemi parë se çfarë po ndodh dhe kemi kuptuar se, në dukje, Telegram është mesazheri më i besueshëm. Faleminderit RKN për testin stres!) Me një konfigurim të duhur të okerr, çdo njoftim është ose një sinjal “braktisni gjithçka, duhet ta rregullojmë!”, ose “atëherë, gjithçka është në rregull!”. Nuk duhet të ketë alerte të panevojshme nga okerr (nëse ka, duhet ta konfigurojmë ndryshe). Për shembull, për serverin tonë alfa në katohostin, ai kurrë nuk simulohet për një gabim. Nëse ai është i rënë — ne duhet ta dimë. Ndërsa serverët e tjerë vazhdimisht simulojnë gabime, prandaj, për të mos marrë alerte disa herë në orë, për ata indikatorë statusi është “i qetë”.

Ka kuptim gjithashtu të krijoni një server me falje (në ndonjë hosting më të lirë), i cili do të ketë ose faqen tuaj të faljes (në rast se të gjithë serverët kryesorë dhe rezervë janë të rënë) ose do të drejtojë në faqen e statusit në okerr (për shembull, tonën cp.okerr.com/status/okerr) ose statuspage.io.

Burimi: habr.com

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster