Rutter och lastbalansering
Vad en rutt är i CreateYourVPN, hur du skapar en på en minut, varför tomma rutter är användbara, och hur systemet fördelar användare mellan servrar.
En rutt är bron mellan din infrastruktur och det användaren ser. Du hanterar servrar och inbounds, medan användaren ser en kort lista med "servrar" i sin app — och varje objekt i den listan är faktiskt en rutt.
En rutt = en rad i användarens app
En rutt är en grupp inbounds under ett namn i klientens prenumeration. Regeln är enkel:
En icke-tom rutt = ett objekt i användarens serverlista.
En rutt kan innehålla en enda inbound — eller tio av dem på olika servrar. Användaren ser aldrig detta: de väljer "🇺🇸 USA", och exakt vilken server de hamnar på avgörs av lastbalanseraren — mer om det nedan.
Samtidigt är namnet användaren ser namnet på den valda inbounden: namnge dina inbounds tydligt ("🇺🇸 New York", "🇺🇸 Dallas") och det är precis vad användaren kommer att se.
När du ansluter din första server skapar systemet en standardrutt på egen hand och lägger den första inbounden i den — det är därför allt fungerar direkt utan en enda inställning. Rutter kommer in i bilden när du vill ha mer: flera länder, en dedikerad "streaming"-rutt, och så vidare.
Skapa en rutt
På klustersidan, i avsnittet "Rutter", klicka på "Ny rutt". Guiden har tre avsnitt:
- Hur klienter ser den här rutten — namnet (t.ex.
🇺🇸 USA) och en flagga. Detta är ruttens "skylt". - Belastningsbalanseringsalgoritm — "Minst belastad efter trafik" (standard) eller "Round-robin". Skillnaden förklaras nedan.
- Inbounds i poolen — vilka inbounds som tillhör rutten. Detta avsnitt är valfritt: du kan skapa en tom rutt och fylla den senare genom att dra.
En inbound kan bara tillhöra en rutt. Om du väljer en inbound som redan är upptagen av en annan rutt flyttas den till den nya. Det är så systemet garanterar att varje ingångspunkts trafik styrs av exakt en uppsättning regler.
Topologidiagrammet: rutter på en blick
På klustersidan visas rutter på ett live-diagram: servrar med sina inbounds till vänster, ruttboxar till höger. Inbounds kan dras med musen: ta tag i en inbound, släpp den i en annan rutt — klart. Det finns också en "Ej tilldelad"-zon — släpp en inbound där för att koppla bort den från alla rutter.
Själva ruttboxarna kan också ordnas om (med draghandtaget eller pilarna) — det är rent visuell ordning för din bekvämlighet.
Tomma rutter
En rutt utan en enda inbound ritas med en streckad kant och saknar "rör" till distributionsnoden — en antydan om att användare inte kan se den. Tomma rutter fungerar som praktiska platshållare: skapa "🇯🇵 Japan" i förväg, och när en japansk server dyker upp, dra in en inbound — rutten vaknar till liv.
Den motsatta situationen markeras också: om du har inbounds utanför alla rutter varnar panelen dig — "inbound(s) finns inte i någon rutt — klienter kan inte se dem ännu".
Lastbalansering: vem hamnar på vilken server
När en användare begär en anslutning väljer systemet, för varje rutt, en inbound från poolen — live, baserat på färska servermätvärden (samma de från lektion 3). Det finns två algoritmer:
"Minst belastad efter trafik" (standard)
Systemet tittar på hur mycket ledig bandbredd per användare varje server har kvar: den tar kanalkapaciteten, subtraherar den aktuella trafiken, och delar med antalet anslutna användare. Servern med störst marginal vinner. Det är rättvis balansering "efter verklig belastning": en svag, mättad server får inte nya användare, även om den formellt har färre personer på sig.
Systemet uppskattar kanalkapaciteten på egen hand — från observerade toppar av verklig trafik (en topp "svalnar" gradvis om servern inte har varit belastad på ett tag).
"Round-robin"
En enkel regel: en ny användare går till servern som för närvarande har minst antal personer — justerat efter serverns koefficient. Koefficienten är en vikt: en server med koefficient 2.0 behandlas som "dubbelt så rymlig" och kommer att få ungefär dubbelt så många användare som en granne med 1.0. Detta låter dig rättvist belasta maskiner av olika storlek.
Om någon server i poolen ännu inte har en kapacitetsuppskattning (säg, servern är helt ny och inte har sett någon trafiktopp), faller rutten smidigt tillbaka till round-robin — så beslut fattas alltid på data som faktiskt existerar.
När omfördelning sker
Konstant — och automatiskt. Servervalet beräknas om vid varje förfrågan med hjälp av färska mätvärden: om belastningen förskjuts börjar nya användare hamna på lediga servrar. Samtidigt försöker systemet behålla samma val för en given användare vid lika förhållanden, så att deras "server" inte studsar fram och tillbaka.
Och ytterligare ett skyddsnät: servrar som övervakningen anser otillgängliga utesluts från urvalet — mer om det i lektion 7.
Viktiga slutsatser
- En rutt är "skylten" för en grupp inbounds; en icke-tom rutt = en rad i användarens app.
- En inbound tillhör bara en rutt. En inbound utanför alla rutter är osynlig för klienter.
- Tomma rutter är en helt normal platshållare: en streckad box, dold för användare.
- Två algoritmer: efter ledig bandbredd (smart, standard) och round-robin med vikter.
- Balansering sker live: omberäknas vid varje anslutning med aktuella mätvärden.
Nästa steg
Servrar: anslutning, installationssteg och mätvärden
Så här ansluter och säkrar CreateYourVPN din VPS: varje installationssteg för sig, servertillstånd, och vad varje mätvärde på kortet betyder.
Inbounds och delad tunnling
Vad en inbound är i CreateYourVPN: maskera som en webbplats, blockering av torrents, och delad tunnling — vilken trafik som går genom VPN och vilken som går direkt.