CreateYourVPN Academy
Cursus: hoe het werkt

Routes en taakverdeling

Wat een route is in CreateYourVPN, hoe u er in een minuut een aanmaakt, waarom lege routes nuttig zijn, en hoe het systeem gebruikers over servers verdeelt.

Een route is de brug tussen uw infrastructuur en wat de gebruiker ziet. U beheert servers en inbounds, terwijl de gebruiker een korte lijst met "servers" in zijn app ziet — en elk item in die lijst is in werkelijkheid een route.

Een route = één regel in de app van de gebruiker

Een route is een groep inbounds onder één naam in het abonnement van de client. De regel is simpel:

Eén niet-lege route = één item in de serverlijst van de gebruiker.

Een route kan één enkele inbound bevatten — of tien ervan, verspreid over verschillende servers. De gebruiker merkt hier niets van: hij kiest "🇺🇸 VS", en op welke specifieke server hij precies terechtkomt, bepaalt de taakverdeler — meer daarover hieronder.

Tegelijk is de naam die de gebruiker ziet, de naam van de geselecteerde inbound: geef uw inbounds duidelijke namen ("🇺🇸 New York", "🇺🇸 Dallas") en dat is precies wat de gebruiker te zien krijgt.

Wanneer u uw eerste server verbindt, maakt het systeem zelf een standaardroute aan en plaatst de eerste inbound erin — daarom werkt alles meteen zonder één enkele instelling. Routes komen in beeld zodra u meer wilt: meerdere landen, een aparte "streaming"-route, enzovoort.

Een route aanmaken

Klik op de clusterpagina, in de sectie "Routes", op "Nieuwe route". De wizard bestaat uit drie onderdelen:

  1. Hoe clients deze route zien — de naam (bijv. 🇺🇸 VS) en een vlag. Dit is het "uithangbord" van de route.
  2. Taakverdeling-algoritme — "Minst belast op verkeer" (de standaard) of "Round-robin". Het verschil wordt hieronder uitgelegd.
  3. Inbounds in pool — welke inbounds tot de route behoren. Dit onderdeel is optioneel: u kunt een lege route aanmaken en die later door slepen vullen.

Een inbound kan tot slechts één route behoren. Kiest u een inbound die al door een andere route wordt gebruikt, dan verhuist hij naar de nieuwe. Zo garandeert het systeem dat het verkeer van elk toegangspunt door precies één set regels wordt beheerst.

Het topologiediagram: routes in één oogopslag

Op de clusterpagina worden routes getoond op een live diagram: servers met hun inbounds links, routevakken rechts. Inbounds kunnen met de muis worden gesleept: pak een inbound, laat hem los in een andere route — klaar. Er is ook een zone "Niet toegewezen" — laat een inbound daar los om hem van alle routes los te koppelen.

De routevakken zelf kunnen ook worden herschikt (via de sleepgreep of de pijlen) — dat is puur visuele volgorde voor uw eigen gemak.

Lege routes

Een route zonder één enkele inbound wordt getekend met een gestippelde rand en heeft geen "leiding" naar de distributienode — een teken dat gebruikers hem niet kunnen zien. Lege routes zijn handige plaatshouders: maak alvast "🇯🇵 Japan" aan, en zodra er een Japanse server verschijnt, sleept u er een inbound in — de route komt tot leven.

De omgekeerde situatie wordt ook gemarkeerd: heeft u inbounds die buiten elke route vallen, dan waarschuwt de panel u — "inbound(s) zijn aan geen enkele route gekoppeld — clients kunnen ze nog niet zien".

Taakverdeling: wie waar terechtkomt

Wanneer een gebruiker een verbinding aanvraagt, kiest het systeem voor elke route één inbound uit de pool — live, op basis van actuele servermetingen (dezelfde als in les 3). Er zijn twee algoritmes:

"Minst belast op verkeer" (standaard)

Het systeem kijkt naar hoeveel vrije bandbreedte per gebruiker elke server nog over heeft: het neemt de kanaalcapaciteit, trekt er het actuele verkeer van af, en deelt door het aantal verbonden gebruikers. De server met de grootste marge wint. Dit is eerlijke verdeling "op basis van echte belasting": een zwakke, verzadigde server krijgt geen nieuwe gebruikers, ook al staan er formeel minder mensen op.

Het systeem schat de kanaalcapaciteit zelf in — op basis van de waargenomen piekwaarden van echt verkeer (een piek "koelt" geleidelijk af als de server een tijdje niet belast is geweest).

"Round-robin"

Een eenvoudige regel: een nieuwe gebruiker gaat naar de server met op dit moment het minste aantal mensen — gecorrigeerd voor de coëfficiënt van de server. De coëfficiënt is een gewicht: een server met coëfficiënt 2.0 wordt behandeld als "twee keer zo ruim" en krijgt ongeveer twee keer zoveel gebruikers als een buurserver met 1.0. Zo kunt u machines van verschillende omvang eerlijk belasten.

Heeft een server in de pool nog geen capaciteitsschatting (bijvoorbeeld omdat de server gloednieuw is en nog geen verkeerspieken heeft gezien), dan valt de route soepel terug op round-robin — zo worden beslissingen altijd genomen op basis van de gegevens die daadwerkelijk bestaan.

Wanneer er opnieuw wordt verdeeld

Voortdurend — en automatisch. De serverkeuze wordt bij elke aanvraag opnieuw berekend op basis van actuele statistieken: verschuift de belasting, dan komen nieuwe gebruikers op vrijere servers terecht. Tegelijk probeert het systeem bij gelijke omstandigheden dezelfde keuze voor een bepaalde gebruiker aan te houden, zodat zijn "server" niet heen en weer springt.

En nog een vangnet: servers die de monitoring als onbeschikbaar beschouwt, worden uitgesloten van de selectie — meer daarover in les 7.

Belangrijkste punten

  • Een route is het "uithangbord" voor een groep inbounds; een niet-lege route = een regel in de app van de gebruiker.
  • Eén inbound hoort bij precies één route. Een inbound buiten elke route is onzichtbaar voor clients.
  • Lege routes zijn een heel normale plaatshouder: een gestippeld vak, verborgen voor gebruikers.
  • Twee algoritmes: op vrije bandbreedte (slim, de standaard) en round-robin met gewichten.
  • Taakverdeling is live: bij elke verbinding opnieuw berekend op basis van actuele statistieken.

Volgende les

On this page