CreateYourVPN Academy
Curs: cum funcționează

Monitorizarea serverelor și rețeaua mesh

Cum urmărește CreateYourVPN starea serverelor: auto-verificări, o rețea mesh de verificări reciproce între servere și ascunderea automată a serverelor inaccesibile de la utilizatori.

Un server te poate lăsa baltă chiar în cel mai nepotrivit moment: un serviciu se blochează, furnizorul de hosting repornește mașina — sau, și mai rău, serverul devine blocat în țara unui utilizator și încetează să mai fie accesibil, deși tehnic funcționează. Utilizatorii tăi n-ar trebui să observe niciodată nimic din toate astea. Această lecție explică cum veghează CreateYourVPN asupra serverelor tale și ce se întâmplă atunci când unul dintre ele are probleme.

Două niveluri de verificare

Sistemul privește fiecare server din două unghiuri.

1. Serverul se verifică pe el însuși

La câteva minute, fiecare server raportează: este activ ascultătorul de trafic pe portul 443, rulează serviciul VPN? Metricile din lecția 3 ajung odată cu același raport. Dacă raportul spune „nu sunt bine”, serverul primește statusul „Server indisponibil”. Dacă rapoartele încetează complet să mai sosească, statusul devine „Niciun fel de date de la server” — mașina ar putea fi oprită sau ar putea fi pierdut rețeaua.

2. Serverele se „bat la ușa” unele altora

Auto-verificările nu pot prinde cel mai șiret caz: un server crede că e sănătos, dar din exterior nu poate fi accesat — de exemplu, IP-ul lui a fost blocat. De aceea toate serverele tale sunt unite într-o rețea mesh de verificări reciproce: fiecare server încearcă în mod regulat să ajungă la fiecare vecin — la fel cum ar face-o aplicația unui utilizator.

De aici încolo, decide un „vot”:

  • O singură bătaie eșuată nu înseamnă nimic — rețeaua ar fi putut doar să clipească. Contează doar seriile susținute de eșecuri.
  • Un server este marcat „Inaccesibil de pe serverele tale” doar atunci când mai multe servere independente eșuează constant să-l atingă — opinia unui singur server nu este un verdict.
  • Există și protecție împotriva „martorului nesigur”: dacă vreun server pretinde brusc că nu poate vedea jumătate din vecinii lui, problema este cel mai probabil a lui însuși — iar voturile lui sunt înlăturate.

Exact această schemă prinde blocările: dacă un server ajunge blocat într-o țară în care se află și alte servere ale tale, vecinii din acea țară vor înceta rapid să-l mai atingă, se acumulează un cvorum, iar sistemul marchează serverul ca inaccesibil. Între timp, serverele din țări fără blocaj vor continua să-l vadă — iar diferența de opinii face imaginea evidentă.

Când verificarea conexiunii dintre două servere nu trece

Votul prinde o blocare atunci când ai mai multe servere în țara care a închis accesul. Mai des însă acolo stă exact unul: încetează să vadă serverul tău din străinătate, în timp ce cele din străinătate se văd perfect între ele. Pentru o astfel de imagine nu se va aduna niciodată cvorumul.

Observăm totuși situația, dar spunem cinstit ce nu știm. Din «A nu vede B» nu se poate deduce a cui adresă este blocată: este una și aceeași afirmație despre drumul dintre ele, iar din exterior ambele cazuri arată la fel. De aceea:

  • În mod implicit nu acuzăm pe nimeni. Marcăm ca «Indisponibil» punctele de intrare ale părții la care verificarea nu ajunge, și ale ambelor părți dacă nu trece în niciun sens. Motivul numește ambele servere (o vezi dacă deschizi un punct de intrare în fișa serverului). Decizia pe care server îl înlocuiești îți aparține: de obicei este cel la care clienții tăi nu ajung.
  • Niciunul dintre ele nu este ascuns. Ascunderea perechii ar scoate din abonament și un server perfect sănătos. Clienții primesc în continuare punctele de intrare ale ambelor servere, iar echilibrarea pur și simplu le va prefera pe cele sănătoase, dacă ruta are astfel de servere.

Serverul de verificare

Ca să primești un răspuns precis în loc de «unul dintre cele două», marchează serverul în verificarea căruia ai încredere: fișa serverului → «Folosește acest server pentru a verifica blocările celorlalte».

Regula este apoi simplă: dacă serverul de verificare încetează să vadă un server obișnuit, considerăm blocată adresa serverului obișnuit, îți scriem sfătuindu-te să îi schimbi IP-ul și nu îi mai livrăm punctele de intrare clienților cât timp ruta are alternative. Invers, un server obișnuit care nu vede serverul de verificare, nu înseamnă nimic.

Cel mai bun server de verificare se află în aceeași țară cu clienții tăi: punctul lui de vedere este cel mai apropiat de ce vede aplicația utilizatorului. Poți marca mai multe. Dacă însă le marchezi pe toate, direcția dispare din nou: nu ar mai rămâne nimeni care să judece, iar perechile revin la comportamentul implicit. Reține că serverul de verificare însuși nu mai este marcat de acest semnal: judecăm din partea lui, deci nu mai rămâne nimeni care să îl judece.

Ce se întâmplă cu un server problematic

Statusurile alimentează direct balansarea: serverele cu statusurile „Server indisponibil” și „Inaccesibil de pe serverele tale” sunt scoase din rotație — nu li se mai trimit conexiuni noi, iar în abonamentele utilizatorilor locul lor este preluat de servere sănătoase din aceleași rute. Singura excepție este o pereche întreruptă fără server de verificare: acolo punctele de intrare sunt marcate, dar niciunul nu este scos.

În același timp, sistemul este precaut — este construit pe principiul „nu face rău”:

  • O rută nu rămâne niciodată goală. Dacă fiecare server dintr-o rută se dovedește a fi „rău”, sistemul va oferi utilizatorilor cea mai bună opțiune disponibilă, în loc de o listă goală — altfel aplicațiile ar decide că serverele au dispărut și le-ar șterge.
  • Tăcerea nu este un verdict. Statusul „Niciun fel de date de la server” nu scoate de unul singur un server din rotație: fără date proaspete, sistemul nu face mișcări bruște.

Totul se vindecă singur

Niciunul dintre statusuri nu „rămâne lipit” pentru totdeauna — starea este derivată din nou din datele proaspete:

  • serverul trimite din nou un raport sănătos → „Server indisponibil” este ridicat;
  • vecinii încep din nou să-l atingă → seria de eșecuri se resetează, iar marcajul „Inaccesibil de pe serverele tale” dispare;
  • rapoartele reîncep → „Niciun fel de date de la server” dispare.

Repari serverul (sau aștepți să fie deblocat) — și el se repune singur în funcțiune. Nicio „repornire” manuală.

Unde vezi asta în panou

Deschizi cardul oricărui utilizator → lista lui de servere: lângă fiecare server e un punct de status, iar când ceva nu e în regulă — o etichetă cu motivul: „Server indisponibil”, „Inaccesibil de pe serverele tale” (inclusiv câte dintre serverele tale nu-l pot vedea) sau „Niciun fel de date de la server”. Semne indirecte apar și pe cardurile serverelor: o etichetă „învechit” pe metrici și „Nicio dată — agentul nu răspunde”.

Verificările mesh sunt extrem de econome: sunt niște atingeri-sondă minuscule, cu un plafon zilnic strict de volum — nu au niciun impact asupra traficului sau performanței serverelor tale.

Idei de reținut

  • Două niveluri de control: un server se verifică pe el însuși, iar vecinii lui din mesh îl verifică din exterior.
  • Blocajele sunt prinse printr-un „vot” al mai multor servere — fără panică pentru un singur incident izolat.
  • Serverele problematice ies din rotație; utilizatorii trec pe tăcute la unele sănătoase.
  • Totul se vindecă singur: în clipa în care un server revine la viață, se alătură din nou automat.
  • Dacă verificarea conexiunii dintre o pereche de servere nu trece și nu este ales un server de verificare, marcăm punctele de intrare ale părții inaccesibile (sau ale ambelor, dacă nu trece în niciun sens) și nu ascundem niciunul: decizia îți aparține.

Urmează

Infrastructura știe să se repare singură, dar mai există un lucru care merită protejat separat — baza ta de utilizatori.

On this page