Monitoring serverů a mesh síť
Jak CreateYourVPN hlídá zdraví serverů: vlastní kontroly, mesh síť vzájemných kontrol mezi servery a automatické skrývání nedostupných serverů před uživateli.
Server vás může zklamat v tu nejhorší možnou chvíli: spadne služba, poskytovatel hostingu stroj restartuje — nebo, ještě hůř, server je v zemi uživatele zablokovaný a přestane být dostupný, i když technicky běží dál. Vaši uživatelé by z toho neměli nic poznat. Tato lekce popisuje, jak CreateYourVPN hlídá vaše servery a co se stane, když se některý z nich dostane do potíží.
Dvě vrstvy kontrol
Systém se na každý server dívá ze dvou úhlů.
1. Server kontroluje sám sebe
Každých pár minut se každý server hlásí: žije naslouchání provozu na portu 443 a běží služba VPN? Se stejným hlášením přicházejí i metriky z lekce 3. Pokud hlášení říká "nejsem v pořádku", server dostane stav "Server nedostupný". Pokud hlášení přestanou chodit úplně, stav se změní na "Žádná data ze serveru" — stroj může být vypnutý nebo ztratil síť.
2. Servery si navzájem "klepou na dveře"
Vlastní kontroly nemohou zachytit ten nejzáludnější případ: server věří, že je zdravý, ale zvenčí je nedosažitelný — třeba proto, že jeho IP byla zablokovaná. Proto jsou všechny vaše servery propojené do mesh sítě vzájemných kontrol: každý server se pravidelně snaží dosáhnout na každého souseda — stejným způsobem, jakým by to zkoušela aplikace uživatele.
Odtud přebírá otěže "hlasování":
- Jediné neúspěšné klepnutí nic neznamená — síť mohla jen krátce zaškobrtnout. Počítají se jen trvalé série selhání.
- Server se označí jako "Nedostupný z vašich serverů" pouze tehdy, když ho několik nezávislých serverů trvale nedokáže dosáhnout — názor jednoho serveru není verdikt.
- Existuje i ochrana proti "nespolehlivému svědkovi": pokud nějaký server náhle tvrdí, že nevidí polovinu svých sousedů, problém je nejspíš na jeho vlastní straně — a jeho hlasy se zahazují.
Přesně tímto schématem se odhalují blokace: pokud je server zablokovaný v zemi, kde žijí vaše další servery, sousedé z té země ho brzy přestanou dosahovat, sesbírá se kvórum a systém server označí jako nedostupný. Zatímco servery v zemích bez blokace ho budou dál vidět v pořádku — a rozdíl v názorech udělá obrázek jasným.
Co se stane s problematickým serverem
Stavy se přímo propisují do vyvažování: servery se stavem "Server nedostupný" a "Nedostupný z vašich serverů" jsou staženy z rotace — nová připojení už se k nim nesměrují a v odběrech uživatelů jejich místo zaberou zdravé servery ze stejných tras.
Systém je přitom zároveň opatrný — je postavený na principu "neuškodit":
- Trasa nikdy nezůstane prázdná. Pokud se všechny servery na trase ukážou jako "špatné", systém uživatelům raději nabídne nejlepší dostupnou možnost, než aby ukázal prázdný seznam — jinak by aplikace usoudily, že servery zmizely, a smazaly je.
- Ticho není verdikt. Stav "Žádná data ze serveru" sám o sobě server z rotace neodstraňuje: bez čerstvých dat systém nedělá žádné unáhlené kroky.
Všechno se hojí samo
Žádný ze stavů "nelpí" napořád — stav se pořád odvozuje z čerstvých dat:
- server znovu pošle zdravé hlášení → stav "Server nedostupný" se zruší;
- sousedé ho znovu začnou dosahovat → série selhání se resetuje a značka "Nedostupný z vašich serverů" zmizí;
- hlášení se obnoví → "Žádná data ze serveru" zmizí.
Opravte server (nebo počkejte, až bude odblokovaný) — a sám se vrátí do provozu. Žádné ruční "zase ho zapnout".
Kde to v panelu vidět
Otevřete kartu libovolného uživatele → seznam jeho serverů: vedle každého serveru je stavová tečka, a pokud je něco v pořádku, popisek s důvodem: "Server nedostupný", "Nedostupný z vašich serverů" (včetně toho, kolik vašich serverů ho nevidí), nebo "Žádná data ze serveru". Nepřímé signály se objevují i na kartách serverů: štítek "zastaralé" u metrik a "Žádná data — agent neodpovídá".
Mesh kontroly jsou extrémně skromné: jde o drobné testovací dotyky s přísným denním limitem objemu — na provoz ani výkon vašich serverů nemají žádný vliv.
Klíčové poznatky
- Dvě vrstvy kontroly: server kontroluje sám sebe a jeho mesh sousedé ho kontrolují zvenčí.
- Blokace se odhalují "hlasováním" několika serverů — žádná panika kvůli jednorázovému zaškobrtnutí.
- Problematické servery vypadnou z rotace; uživatelé se tiše přesunou na zdravé.
- Všechno se hojí samo: jakmile se server vrátí k životu, sám se znovu zapojí.
Co dál
Infrastruktura se umí opravit sama, ale je tu jedna věc, kterou stojí za to chránit zvlášť — vaše uživatelská základna.
Multihop: řetězce serverů
Jak vytvořit multihop inbound v CreateYourVPN: provoz vstupuje na jednom serveru a vystupuje z jiného. Proč byste to chtěli, jak ho vytvořit a co vidí uživatel.
Zálohy: uložení a obnova uživatelů
Poslední lekce kurzu: proč zálohovat databázi uživatelů, jak nastavit automatické kopie na Google Drive nebo S3, a jak obnovit ze zálohy.