Failover basajan pikeun situs wéb (monitoring + DNS dinamis)

Dina tulisan ieu kuring hoyong nunjukkeun kumaha gampang sareng gratis anjeun tiasa ngadamel skéma failover pikeun situs wéb (atanapi jasa Internét anu sanés) nganggo kombinasi ngawaskeun. okerr jeung layanan DNS dinamis. Nyaéta, upami aya masalah sareng situs utama (tina masalah sareng "Kasalahan PHP" dina halaman, kurangna rohangan atanapi ngan ukur jumlah pesenan anu curiga dina kasus toko online), sémah énggal bakal diarahkeun ka kadua (katilu, jeung saterusna) server gawé dipikawanoh, atawa dina kaca "Hampura", dimana maranéhna sopan bakal ngajelaskeun yén "aya masalah, kami geus sadar tur geus ngalereskeun eta, urang bakal ngalereskeun éta geura-giru" (sareng dina hal ieu anjeun bakal leres-leres terang sareng tiasa ngalereskeun).

Hirup sareng failover atanapi tanpa?

Dugi sababaraha masalah kajantenan, teu aya bédana. Tapi lamun eta kajadian, tanpa failover, hal di handap ieu mindeng kajadian: Anjeun coba gancang manggihan naon masalahna, teu jalan (cadangan teu nyebarkeun, software pikeun sababaraha alesan teu jalan sakumaha sakuduna ti dokuméntasi). , jsb.), tapi teu aya waktos, teu aya server - situsna bohong, klien nelepon, sadayana aya di tepi, anjeun nyobian kumaha waé ngalereskeunana kasarna sareng kotor "kalayan pita", teras kumaha waé sigana ngamimitian sareng kruk jeung nyawa. Anjeun mikir yén dina waktu luang anjeun bakal kudu angka eta kaluar dina leuwih jéntré tur redo sagalana beautifully, tapi aya nanaon leuwih permanén ti samentara.

Ayeuna, kumaha ieu kajantenan dina versi anu saé kalayan filer:

  • Kasalahan lumangsung
  • Kasalahan dideteksi sacara otomatis
  • Siaga dikirim kaluar
  • Pindah ka salah sahiji server cadangan ditransfer
  • Tenang sareng tanpa panik, masalahna dilereskeun, dilereskeun, sareng server didamel deui.

Skéma ieu, tangtosna, ogé tiasa gaduh masalah sorangan, tapi tetep, skéma éta linier, unggal tahapan basajan sareng hal utama nyaéta yén éta tiasa di-debug nyalira, janten kamungkinan gagalna skéma ieu langkung handap, sareng sagala lampah bisa otomatis tur dipigawé gancang (teu kawas ti tugas manggihan tur ngalereskeun crap epik kanyahoan). Pesawat anjeun parantos darat di nagara anu jauh, anjeun hurungkeun telepon anjeun sareng ningali bewara dina telegram yén server nabrak, tapi sadayana henteu kunanaon, server cadangan parantos diaktipkeun, anjeun tiasa neraskeun perjalanan anjeun, anjeun henteu peryogi. ngapung deui atawa ngalereskeun eta via SSH ti cafe pangcaketna kalawan WiFi. Anjeun bakal terang éta nalika éta langkung merenah.

Kahareupna geus aya di dieu!

Sateuacanna, masalah utama anu ngajantenkeun failover sering janten solusi anu teu tiasa ditampi nyaéta jumlah biaya anu hargana. Atawa ieu diperlukeun pikeun meuli hardware mahal (jeung ngajak spesialis malah leuwih mahal). Atawa peternakan koléktif hal pajeulit nurutkeun Panungtun (Kuring malah datang di sakuliah hiji pilihan dimana dua server tambahan disambungkeun jeung kabel modem null, sarta aranjeunna ngirimkeun keteg jajantung ngaliwatan eta, ku kituna dina waktu katuhu server cadangan ngakuan eta sarta nyokot alih. kontrol). Ayeuna aya cara anu gampang sareng gratis. Upami Anjeun gaduh ramatloka kalawan ucing, euweuh musabab pikeun anjeun teu nerapkeun failover pikeun eta acan!

Nya, salian ti éta, pikeun skéma failover anjeun peryogi server anu sanés (sareng panginten langkung ti hiji) sareng sateuacan ieu biaya anu ageung, ayeuna anjeun tiasa nampi VDS pikeun pennies.

Situs anu paling dipercaya sareng ucing

Pikeun praktis ngagambarkeun solusi kalawan okerr + dinamis dns, kami dibuka ramatloka kami kalawan ucing cat.okerr.com. Urang hate ucing, jadi moal aya loba di dinya. Aya tilu situs dina total, unggal hiji kasampak kasarna sarua (sadayana dina citakan sarua), tapi kalawan anak ucing béda pikeun make eta gampang ngabedakeun, sarta tiap hiji nulis informasi teknis pikeun nempo kumaha failover jalan. Kaca ngamutahirkeun sorangan sakali unggal 1 menit, tapi anjeun salawasna bisa klik reload dina browser.

Dina informasi teknis aya garis "status = OK". Kadang server pura-pura masalah sareng nyerat status = ERR. Server utama "sigana nabrak" dina 20 menit unggal jam (0:20, 1:20, 2:20, ...). Server cadangan dina 40 menit. The server panungtungan ("punten" server) salawasna ngajalankeun. Dina 0 menit unggal jam, server primér sareng cadangan "dibalikkeun".

Failover basajan pikeun situs wéb (monitoring + DNS dinamis)

Lamun muka situs jeung ninggalkeun eta dina tab, anjeun bakal nempo yén éta pernah ngadat (sanajan unggal server individu périodik simulates masalah), sarta lamun aya masalah jeung server, éta saukur "ngajalankeun" antara server live. Gambar, nami sareng alamat server sareng peranna bakal robih. Kadang-kadang anjeun tiasa nyekel momen nalika status = ERR (masalah geus aya, tapi sakabeh skéma failover teu acan digarap), tapi update salajengna bakal némbongkeun Anjeun kaca ti loka gawé.

Failover on okerr + DNS dinamis

Hayu urang tingali kumaha gawéna handapeun tiung. Tugas filer nyaéta pikeun mastikeun yén alamat cat.okerr.com salawasna nunjuk ka alamat IP tina server kerja.
Balik unggal server nu host situs ucing urang di okerr aya hiji indikator nu pariksa status na sakali menit.

Failover basajan pikeun situs wéb (monitoring + DNS dinamis)

Dina screenshot ieu kami ningali kumaha situs cat.okerr.com dipariksa tina server alpha.okerr.com. Kaca kedah ngandung status = OK, sareng sakumaha anu urang tingali di luhur, status indikator urang OK ayeuna. Nalika server "ngarecah", bakal aya ERR. (Ieu ngan hiji conto indikator, okerr ngawaskeun, sangkan anjeun tiasa ngagantelkeun sagala jenis indikator, Contona, pariksa spasi bébas dina disk, Jumlah pesenan anyar dina database, komo indikator logis, contona, , peuting bakal aya sababaraha kriteria kasalahan, jeung beurang batur).

Dina setélan proyék kami nyiptakeun skéma failover kalayan indikator ieu:

Failover basajan pikeun situs wéb (monitoring + DNS dinamis)

Skéma boga tilu indikator (tilu server), béda dina prioritas. Pangladén utama pikeun situs éta nyaéta charlie, upami éta henteu jalan (éta moal ngagaduhan "status = OK" atanapi ngan saukur henteu sayogi), teras bravo sareng dina kasus anu terakhir - alfa. Sisi katuhu kaca nembongkeun status rékaman DNS dina server béda.

Pikeun maranéhanana anu noticed nu ngaran cat.he.okerr.com dipaké: Urang ngagunakeun skéma rada leuwih kompleks. Gantina ngan ngarobah catetan DNS tina cat.okerr.com, urang ngarobah cat.he.okerr.com (dina panyadia DNS Dinamis. HurricaneElectric), sarta cat.okerr.com mangrupakeun CNAME (alias), nu teu robah, salawasna nunjuk ka cat.he.okerr.com. Kami resep Hurricane langkung saé salaku DNS dinamis, sareng gaduh konci pikeun ngatur éntri tunggal (tinimbang sadayana zona), kami pikir éta langkung aman. Anjeun oge teu kudu nangtukeun kecap akses konci dina okerr pikeun ngatur sakabéh domain, tapi ngan pikeun subdomain atawa rékaman.

Ti ragrag ka naek

Step by step kumaha skéma ieu jalan:

  1. Hiji masalah lumangsung (simulated) dina server
  2. Sensor okerr mariksa status unggal server sakali menit sarta ngalaporkeun ka server proyék utama di okerr
  3. Indikator server pakait robah tina OK kana ERR
  4. Nalika status tina indikator robah, failover recalculated, sarta eta diitung alamat nu kudu diatur (lamun perlu. Contona, upami server utama berpungsi, sarta dina waktos anu sareng server cadangan maot, euweuh parobahan bakal. dijieun)
  5. Alamat ieu dilaporkeun ka layanan dns dinamis. Saatos réngsé tahap ieu, anjeun bakal ningali status "nyingkronkeun" di sisi katuhu.
  6. Moal lami deui (detik) catetan bakal ngahontal server DNS tina domain anjeun (pikeun situs ucing éta ns1-ns5.he.net).
  7. Ti moment ieu, sababaraha pamaké bakal geus dina server live anyar. Tapi henteu sadayana server DNS di dunya parantos ngamutahirkeun rékamanna, sareng rékaman lami masih tiasa disimpen di mana waé. Anjeun tiasa ningali kumaha data dina server DNS umum "tari", némbongkeun boh nilai anyar atawa heubeul. Lamun anjeun ngamutahirkeun kaca konfigurasi failover, operator sorangan bakal menta data anyar ti server DNS.
  8. Saatos datana stabil, catetan cache anu lami rusak dimana-mana - sadaya 100% pamundut angkat ka server énggal.

Pikeun nyepetkeun tahap 7 (sering pangpanjangna), TTL tina catetan DNS dinamis kudu diatur sakumaha low-gancang. Biasana jasa ngawenangkeun interval 90-120 detik. Ieu kompromi lengkep lumrah.

Sajaba

Sadaya ieu tiasa dikonpigurasi dina soré (upami anjeun parantos gaduh server cadangan). Duanana okerr sareng jasa DNS dinamis gratis. Pikeun meunang leuwih cék dina okerr sarta periode verifikasi pondok, anjeun kudu ngalengkepan latihan (ti kaca profil anjeun). Saatos réngsé, tingkatna langsung ningkat (20 indikator per jam + 1 gancang, 10 menit). Tur upami aya sababaraha di antarana, nulis ka [email dijaga], paling dipikaresep eta bakal mungkin pikeun ngaronjatkeun (sajauh aya salawasna geus kasempetan, Kuring geus pernah nampik, sabalikna, kuring ditawarkeun sorangan). Ngan anu mimitina kuring henteu hoyong janji sadayana sadayana, kuring henteu yakin yén kuring gaduh kapasitas anu cekap pikeun ngajaga kecap kuring. Tapi sajauh ieu aya sababaraha pamaké, jadi teu aya masalah jeung ngaronjatna wates.

Naon okerr tiasa ngalakukeun sacara umum - tingali dina website presentasi. Sacara umum, ieu ngawaskeun (zabbix tina awan), sareng filer mangrupikeun fungsi tambahan anu saé. Anjeun oge bisa ngakses demo ti loka tanpa pendaptaran.

Nalika status indikator robah, bewara dikirim ku email atanapi Telegram. (Urang nempo naon anu lumangsung sarta nyadar yén telegram sigana utusan paling dipercaya. Hatur nuhun kana RKN test stress!) Kalawan okerr ngonpigurasi leres, aya bewara boh sinyal "lungsur sagalana, urang kudu ngalereskeun eta!" , atawa "lampu pareum!" Henteu kedah aya panggeuing tambahan tina okerra (upami aya, aranjeunna kedah dikonpigurasikeun ku cara anu béda). Salaku conto, pikeun situs ucing urang, server alfa mangrupikeun anu terakhir sareng henteu pernah palsu kasalahan. Upami anjeunna ngagolér, urang kedah terang. Tapi server séjén terus-terusan pura-pura kasalahan, janten, supados henteu nampi panggeuing sababaraha kali sajam, indikator-indikator éta ngagaduhan status "jempé".

Éta ogé masuk akal pikeun nyiptakeun server punten (dina naon waé hosting anu paling murah), anu bakal ngagaduhan halaman hampura anjeun (upami sadaya server utama sareng cadangan turun) atanapi bakal alihan anjeun ka halaman status dina okerr (contona, milik kami. cp.okerr.com/status/okerr) atawa statuspage.io.

sumber: www.habr.com

Tambahkeun komentar