Trasy a vyrovnávanie záťaže
Čo je trasa v CreateYourVPN, ako ju vytvoriť za minútu, prečo sú užitočné prázdne trasy a ako systém rozdeľuje používateľov medzi servery.
Trasa je mostom medzi vašou infraštruktúrou a tým, čo vidí používateľ. Vy spravujete servery a inboundy, zatiaľ čo používateľ vidí krátky zoznam „serverov“ vo svojej aplikácii — a každá položka v tomto zozname je v skutočnosti trasa.
Trasa = jeden riadok v aplikácii používateľa
Trasa je skupina inboundov pod jedným názvom v predplatnom klienta. Pravidlo je jednoduché:
Jedna neprázdna trasa = jedna položka v zozname serverov používateľa.
Trasa môže obsahovať jediný inbound — alebo desať z nich na rôznych serveroch. Používateľ to nikdy nevidí: vyberie si „🇺🇸 USA“ a na ktorý konkrétny server skončí, rozhoduje load balancer — viac o tom nižšie.
Názov, ktorý používateľ vidí, je pritom názvom vybraného inboundu: pomenujte svoje inboundy jasne („🇺🇸 New York“, „🇺🇸 Dallas“) a presne to používateľ uvidí.
Keď pripojíte svoj prvý server, systém si sám vytvorí predvolenú trasu a zaradí do nej prvý inbound — preto všetko funguje hneď od začiatku bez jediného nastavenia. Trasy prídu na rad, keď budete chcieť viac: viacero krajín, samostatnú trasu „streaming“ a podobne.
Vytvorenie trasy
Na stránke klastra v sekcii „Trasy“ kliknite na „Nová trasa“. Sprievodca má tri sekcie:
- Ako klienti vidia túto trasu — názov (napr.
🇺🇸 USA) a vlajka. Toto je „tabuľa“ trasy. - Algoritmus vyrovnávania záťaže — „Najmenej zaťažený podľa prenosu“ (predvolený) alebo „Round-robin“. Rozdiel je vysvetlený nižšie.
- Inboundy v poole — ktoré inboundy patria do trasy. Táto sekcia je voliteľná: môžete vytvoriť prázdnu trasu a doplniť ju neskôr presúvaním.
Inbound môže patriť len do jednej trasy. Ak vyberiete inbound, ktorý už patrí inej trase, presunie sa do novej. Takto systém garantuje, že prevádzku každého vstupného bodu riadi presne jedna sada pravidiel.
Diagram topológie: trasy na jeden pohľad
Na stránke klastra sú trasy zobrazené na živom diagrame: servery s ich inboundmi vľavo, rámčeky trás vpravo. Inboundy je možné presúvať myšou: chytíte inbound, pustíte ho do inej trasy — hotovo. Existuje aj zóna „Nepriradený“ — pustením inboundu tam ho odpojíte od všetkých trás.
Samotné rámčeky trás možno tiež preusporiadať (pomocou úchytu na presúvanie alebo šípok) — ide o čisto vizuálne poradie pre vaše pohodlie.
Prázdne trasy
Trasa bez jediného inboundu sa vykresľuje s prerušovaným okrajom a nemá „potrubie“ k distribučnému uzlu — náznak, že používatelia ju nevidia. Prázdne trasy sú šikovné ako rezervované miesta: vytvorte si vopred „🇯🇵 Japonsko“, a keď sa objaví japonský server, presuňte doň inbound — trasa ožije.
Opačná situácia je tiež zvýraznená: ak máte inboundy mimo akejkoľvek trasy, panel vás upozorní — „inbound(y) nie sú priradené k žiadnej trase — klienti ich zatiaľ nevidia“.
Vyrovnávanie záťaže: kto skončí na ktorom serveri
Keď používateľ požiada o pripojenie, systém pre danú trasu vyberie z poolu jeden inbound — naživo, na základe aktuálnych metrík serverov (tých istých z lekcie 3). Existujú dva algoritmy:
„Najmenej zaťažený podľa prenosu“ (predvolený)
Systém sa pozerá na to, koľko voľnej priepustnosti na používateľa má každý server k dispozícii: vezme kapacitu kanála, odpočíta aktuálnu prevádzku a vydelí počtom pripojených používateľov. Vyhráva server s najväčšou rezervou. Ide o férové vyrovnávanie „podľa skutočnej záťaže“: slabý, preťažený server nezíska nových používateľov, aj keby na ňom formálne bolo menej ľudí.
Systém si kapacitu kanála odhaduje sám — z pozorovaných špičiek reálnej prevádzky (špička sa postupne „ochladzuje“, ak server dlhší čas nebol zaťažený).
„Round-robin“
Jednoduché pravidlo: nový používateľ ide na server, ktorý má práve najmenej ľudí — upravené o koeficient servera. Koeficient je váha: server s koeficientom 2.0 sa berie ako „dvakrát priestrannejší“ a dostane približne dvakrát toľko používateľov ako sused s 1.0. Vďaka tomu môžete férovo zaťažiť stroje rôznych veľkostí.
Ak niektorý server v poole ešte nemá odhad kapacity (napríklad je úplne nový a nezaznamenal žiadne špičky prevádzky), trasa elegantne prejde na round-robin — rozhodnutia sa tak vždy robia na základe dát, ktoré reálne existujú.
Kedy prebieha prerozdelenie
Neustále — a automaticky. Výber servera sa prepočítava pri každej požiadavke na základe aktuálnych metrík: keď sa záťaž presunie, noví používatelia začnú pristávať na voľnejších serveroch. Zároveň sa systém snaží za rovnakých podmienok ponechať rovnaký výber pre daného používateľa, aby jeho „server“ neskákal tam a späť.
A ešte jedna poistka: servery, ktoré monitoring považuje za nedostupné, sa z výberu vylučujú — viac o tom v lekcii 7.
Kľúčové poznatky
- Trasa je „tabuľa“ pre skupinu inboundov; neprázdna trasa = riadok v aplikácii používateľa.
- Jeden inbound patrí len do jednej trasy. Inbound mimo akejkoľvek trasy je pre klientov neviditeľný.
- Prázdne trasy sú úplne normálne rezervované miesto: rámček s prerušovaným okrajom, skrytý pred používateľmi.
- Dva algoritmy: podľa voľnej priepustnosti (chytrý, predvolený) a round-robin s váhami.
- Vyrovnávanie je živé: prepočítava sa pri každom pripojení na základe aktuálnych metrík.
Nasleduje
Servery: pripojenie, fázy inštalácie a metriky
Ako CreateYourVPN pripája a zabezpečuje váš VPS: každá fáza inštalácie krok za krokom, stavy servera a čo znamená každá metrika na karte.
Inboundy a rozdelené tunelovanie
Čo je inbound v CreateYourVPN: maskovanie za webovú stránku, blokovanie torrentov a rozdelené tunelovanie — ktorá prevádzka ide cez VPN a ktorá priamo.