CreateYourVPN Academy
Curs: cum funcționează

Rute și balansarea încărcăturii

Ce este o rută în CreateYourVPN, cum creezi una într-un minut, de ce sunt utile rutele goale și cum distribuie sistemul utilizatorii pe servere.

O rută este puntea dintre infrastructura ta și ceea ce vede utilizatorul. Tu administrezi serverele și inbound-urile, în timp ce utilizatorul vede o listă scurtă de „servere” în aplicația lui — și fiecare element din acea listă este de fapt o rută.

O rută = o linie în aplicația utilizatorului

O rută este un grup de inbound-uri sub un singur nume în abonamentul clientului. Regula este simplă:

O rută nevidă = un element în lista de servere a utilizatorului.

O rută poate conține un singur inbound — sau zece, pe servere diferite. Utilizatorul nu vede niciodată asta: el alege „🇺🇸 SUA”, iar pe ce server anume ajunge decide balansatorul de încărcătură — mai multe detalii mai jos.

Totodată, numele pe care îl vede utilizatorul este numele inbound-ului selectat: dă inbound-urilor tale nume clare („🇺🇸 New York”, „🇺🇸 Dallas”) și exact asta va vedea utilizatorul.

Când conectezi primul tău server, sistemul creează de unul singur o rută implicită și pune în ea primul inbound — de asta totul funcționează din start, fără nicio setare. Rutele intră în joc atunci când vrei mai mult: mai multe țări, o rută dedicată de „streaming” și așa mai departe.

Crearea unei rute

Pe pagina clusterului, în secțiunea „Rute”, apeși „Rută nouă”. Asistentul are trei secțiuni:

  1. Cum văd clienții această rută — numele (de ex. 🇺🇸 SUA) și un steag. Aceasta este „firma” rutei.
  2. Algoritm de balansare a încărcăturii — „Cel mai puțin încărcat după trafic” (implicit) sau „Round-robin”. Diferența este explicată mai jos.
  3. Inbounduri în pool — ce inbound-uri aparțin rutei. Această secțiune este opțională: poți crea o rută goală și o poți popula mai târziu prin tragere.

Un inbound poate aparține unei singure rute. Dacă alegi un inbound deja ocupat de altă rută, acesta se mută în noua rută. Așa garantează sistemul că traficul fiecărui punct de intrare este guvernat de un singur set de reguli.

Diagrama de topologie: rutele dintr-o privire

Pe pagina clusterului, rutele sunt afișate pe o diagramă live: serverele cu inbound-urile lor în stânga, casetele de rută în dreapta. Inbound-urile pot fi trase cu mouse-ul: apuci un inbound, îl plasezi în altă rută — gata. Există și o zonă „Neasignat” — plasează un inbound acolo ca să-l detașezi de la toate rutele.

Și casetele de rută în sine pot fi reordonate (folosind mânerul de tragere sau săgețile) — este pur o ordonare vizuală, pentru comoditatea ta.

Rute goale

O rută fără niciun inbound este desenată cu un contur punctat și nu are „conductă” către nodul de distribuție — un semn că utilizatorii nu o pot vedea. Rutele goale sunt niște substituenți foarte utili: creezi „🇯🇵 Japonia” din timp, iar când apare un server japonez, tragi un inbound în ea — ruta prinde viață.

Și situația inversă este semnalată: dacă ai inbound-uri în afara oricărei rute, panoul te avertizează — „inbound-uri nu sunt în nicio rută — clienții nu le pot vedea încă”.

Balansarea încărcăturii: cine ajunge pe ce server

Când un utilizator solicită o conexiune, pentru fiecare rută sistemul alege un inbound din pool — live, pe baza metricilor proaspete ale serverelor (chiar cele din lecția 3). Există două algoritmi:

„Cel mai puțin încărcat după trafic” (implicit)

Sistemul se uită la câtă lățime de bandă liberă per utilizator mai are fiecare server: ia capacitatea canalului, scade traficul curent și împarte la numărul de utilizatori conectați. Câștigă serverul cu cea mai mare marjă. Este o balansare corectă, „după încărcarea reală”: un server slab și saturat nu va primi utilizatori noi, chiar dacă formal are mai puțini oameni pe el.

Sistemul estimează capacitatea canalului de unul singur — din vârfurile observate ale traficului real (un vârf „se răcește” treptat dacă serverul n-a fost încărcat de ceva vreme).

„Round-robin”

O regulă simplă: un utilizator nou merge pe serverul care are în acest moment cei mai puțini oameni — ajustat după coeficientul serverului. Coeficientul este o greutate: un server cu coeficientul 2.0 este tratat ca fiind „de două ori mai încăpător” și va primi aproximativ de două ori mai mulți utilizatori decât un vecin cu 1.0. Asta îți permite să încarci corect mașini de dimensiuni diferite.

Dacă un server din pool nu are încă o estimare de capacitate (de exemplu, serverul e foarte nou și n-a văzut niciun vârf de trafic), ruta trece elegant la round-robin — astfel deciziile se iau mereu pe baza datelor care chiar există.

Când are loc rebalansarea

Permanent — și automat. Alegerea serverului este recalculată la fiecare cerere, pe baza metricilor proaspete: dacă încărcarea se schimbă, utilizatorii noi încep să ajungă pe serverele mai libere. În același timp, sistemul încearcă să păstreze aceeași alegere pentru un anumit utilizator atunci când condițiile sunt egale, ca „serverul” său să nu sară înainte și înapoi.

Și încă o plasă de siguranță: serverele pe care monitorizarea le consideră indisponibile sunt excluse din selecție — mai multe despre asta în lecția 7.

Idei de reținut

  • O rută este „firma” pentru un grup de inbound-uri; o rută nevidă = o linie în aplicația utilizatorului.
  • Un inbound aparține unei singure rute. Un inbound în afara oricărei rute este invizibil pentru clienți.
  • Rutele goale sunt un substituent perfect normal: o casetă punctată, ascunsă de utilizatori.
  • Doi algoritmi: după lățimea de bandă liberă (inteligent, implicit) și round-robin cu greutăți.
  • Balansarea este live: recalculată la fiecare conexiune, pe baza metricilor curente.

Urmează

On this page