Monitoring serverov a mesh sieť
Ako CreateYourVPN sleduje zdravie serverov: vlastné kontroly, mesh sieť vzájomných kontrol medzi servermi a automatické skrývanie nedostupných serverov pred používateľmi.
Server vás môže sklamať v tej najnevhodnejšej chvíli: spadne služba, poskytovateľ reštartuje stroj — alebo, čo je ešte horšie, server je v krajine používateľa zablokovaný a prestane byť dostupný, aj keď technicky beží. Vaši používatelia by z toho nemali nič spozorovať. Táto lekcia rozoberá, ako CreateYourVPN dohliada na vaše servery a čo sa stane, keď má niektorý z nich problém.
Dve vrstvy kontrol
Systém sa na každý server pozerá z dvoch uhlov.
1. Server kontroluje sám seba
Každý server sa raz za pár minút hlási: či je nažive prijímač prevádzky na porte 443 a či beží VPN služba. S tým istým hlásením prichádzajú aj metriky z lekcie 3. Ak hlásenie povie „nie som v poriadku“, server dostane stav „Server nedostupný“. Ak hlásenia prestanú prichádzať úplne, stav sa zmení na „Žiadne dáta zo servera“ — stroj môže byť vypnutý alebo bez sieťového pripojenia.
2. Servery si navzájom „klopú“
Vlastné kontroly nedokážu odhaliť ten najzákernejší prípad: server je presvedčený, že je zdravý, no zvonku sa k nemu nedá dostať — napríklad mu bola zablokovaná IP adresa. Preto sú všetky vaše servery spojené do mesh siete vzájomných kontrol: každý server sa pravidelne pokúša dostať ku každému svojmu susedovi — presne tak, ako by to skúšala aplikácia používateľa.
Odtiaľ nastupuje „hlasovanie“:
- Jedno neúspešné zaklopanie nič neznamená — sieť mohla len na chvíľu zablikať. Počítajú sa len dlhodobé série zlyhaní.
- Server sa označí ako „Nedostupný z vašich serverov“ až vtedy, keď ho dôsledne nedokáže dosiahnuť niekoľko nezávislých serverov — názor jedného servera nie je verdikt.
- Existuje aj ochrana proti „nespoľahlivému svedkovi“: ak nejaký server zrazu tvrdí, že nevidí polovicu svojich susedov, problém je pravdepodobne na jeho vlastnej strane — a jeho hlasy sa zahodia.
Presne táto schéma odhaľuje blokovania: ak je server zablokovaný v krajine, kde žijú vaše ostatné servery, susedia z tejto krajiny ho čoskoro prestanú dosahovať, vytvorí sa kvórum a systém server označí ako nedostupný. Servery v krajinách bez tohto blokovania ho medzitým naďalej vidia — a rozdiel v názoroch robí obraz jasným.
Čo sa stane s problémovým serverom
Stavy priamo vstupujú do vyrovnávania záťaže: servery so stavom „Server nedostupný“ a „Nedostupný z vašich serverov“ sa vyradia z rotácie — nové pripojenia sa naň neposielajú a v predplatnom používateľov ich miesto zaujmú zdravé servery z tých istých trás.
Zároveň je systém opatrný — je postavený na princípe „neškodiť“:
- Trasa nikdy nezostane prázdna. Ak sa všetky servery na trase ukážu ako „zlé“, systém radšej ponúkne používateľom najlepšiu dostupnú možnosť než prázdny zoznam — inak by si aplikácie mohli myslieť, že servery zmizli, a vymazali by ich.
- Ticho nie je verdikt. Stav „Žiadne dáta zo servera“ sám osebe server z rotácie nevyradí: bez čerstvých dát systém nerobí unáhlené kroky.
Všetko sa uzdravuje samo
Žiadny zo stavov nezostáva „prilepený“ navždy — stav sa vždy odvodzuje z čerstvých dát:
- server znova pošle zdravé hlásenie → stav „Server nedostupný“ sa zruší;
- susedia ho znova začnú dosahovať → séria zlyhaní sa vynuluje a označenie „Nedostupný z vašich serverov“ zmizne;
- hlásenia sa obnovia → „Žiadne dáta zo servera“ zmizne.
Opravte server (alebo počkajte, kým bude odblokovaný) — a sám sa vráti do prevádzky. Žiadne ručné „znova zapnúť“.
Kde to vidieť v paneli
Otvorte kartu ktoréhokoľvek používateľa → jeho zoznam serverov: pri každom serveri je stavová bodka a keď niečo nie je v poriadku — popisok s dôvodom: „Server nedostupný“, „Nedostupný z vašich serverov“ (vrátane počtu vašich serverov, ktoré ho nevidia), alebo „Žiadne dáta zo servera“. Nepriame príznaky sa objavujú aj na kartách serverov: štítok „zastaralé“ pri metrikách a „Žiadne dáta — agent neodpovedá“.
Mesh kontroly sú mimoriadne šetrné: ide o drobné testovacie dotyky s prísnym denným limitom objemu — nemajú žiadny vplyv na prevádzku ani výkon vašich serverov.
Kľúčové poznatky
- Dve vrstvy kontroly: server kontroluje sám seba a jeho mesh susedia ho kontrolujú zvonku.
- Blokovania odhaľuje „hlasovanie“ niekoľkých serverov — žiadna panika kvôli jednorazovému výpadku.
- Problémové servery vypadávajú z rotácie; používatelia nenápadne prechádzajú na zdravé.
- Všetko sa uzdravuje samo: v okamihu, keď sa server vráti do života, sa sám znova zaradí.
Nasleduje
Infraštruktúra sa vie sama opraviť, no jedna vec si zaslúži chrániť sa osobitne — vaša databáza používateľov.
Multihop: reťazce serverov
Ako vytvoriť multihop inbound v CreateYourVPN: prevádzka vstupuje na jednom serveri a vystupuje z druhého. Prečo by ste ho chceli, ako ho vytvoriť a čo vidí používateľ.
Zálohy: uloženie a obnovenie vašich používateľov
Záverečná lekcia kurzu: prečo zálohovať databázu používateľov, ako nastaviť automatické kópie do Google Drive alebo S3 a ako obnoviť dáta zo zálohy.