CreateYourVPN Academy
Curso: cómo funciona todo

Rutas y balanceo de carga

Qué es una ruta en CreateYourVPN, cómo crear una en un minuto, por qué son útiles las rutas vacías y cómo el sistema distribuye a los usuarios entre servidores.

Una ruta es el puente entre tu infraestructura y lo que ve el usuario. Tú gestionas servidores e inbounds, mientras que el usuario ve en su app una lista corta de «servidores» — y cada elemento de esa lista es en realidad una ruta.

Una ruta = una línea en la app del usuario

Una ruta es un grupo de inbounds bajo un único nombre en la suscripción del cliente. La regla es simple:

Una ruta no vacía = un elemento en la lista de servidores del usuario.

Una ruta puede contener un único inbound — o diez de ellos repartidos en distintos servidores. El usuario nunca ve esto: elige «🇺🇸 EE. UU.», y a qué servidor concreto acaba llegando lo decide el balanceador de carga — más sobre esto a continuación.

Mientras tanto, el nombre que ve el usuario es el nombre del inbound seleccionado: nombra tus inbounds con claridad («🇺🇸 Nueva York», «🇺🇸 Dallas») y eso es exactamente lo que verá el usuario.

Cuando conectas tu primer servidor, el sistema crea por su cuenta una ruta predeterminada y coloca en ella el primer inbound — por eso todo funciona de fábrica sin un solo ajuste. Las rutas entran en juego cuando quieres más: varios países, una ruta dedicada de «streaming», y así sucesivamente.

Crear una ruta

En la página del clúster, en la sección «Rutas», haz clic en «Nueva ruta». El asistente tiene tres secciones:

  1. Cómo ven los clientes esta ruta — el nombre (p. ej. 🇺🇸 EE. UU.) y una bandera. Esta es la «vitrina» de la ruta.
  2. Algoritmo de balanceo de carga — «Menor carga por tráfico» (el predeterminado) o «Round-robin». La diferencia se explica más abajo.
  3. Inbounds en el pool — qué inbounds pertenecen a la ruta. Esta sección es opcional: puedes crear una ruta vacía y llenarla más tarde arrastrando.

Un inbound solo puede pertenecer a una ruta. Si eliges un inbound que ya está asignado a otra ruta, se traslada a la nueva. Así garantiza el sistema que el tráfico de cada punto de entrada está gobernado por exactamente un conjunto de reglas.

El diagrama de topología: las rutas de un vistazo

En la página del clúster, las rutas se muestran en un diagrama en vivo: los servidores con sus inbounds a la izquierda, las cajas de rutas a la derecha. Los inbounds se pueden arrastrar con el ratón: coge un inbound, suéltalo en otra ruta — listo. También hay una zona «Sin asignar» — suelta un inbound ahí para desvincularlo de todas las rutas.

Las propias cajas de rutas también se pueden reordenar (usando el asa de arrastre o las flechas) — es puramente un orden visual para tu comodidad.

Rutas vacías

Una ruta sin un solo inbound se dibuja con un borde discontinuo y no tiene «tubería» hasta el nodo de distribución — una pista de que los usuarios no pueden verla. Las rutas vacías son útiles como plantillas: crea «🇯🇵 Japón» de antemano, y cuando aparezca un servidor japonés, arrastra un inbound dentro — la ruta cobra vida.

La situación contraria también se resalta: si tienes inbounds fuera de cualquier ruta, el panel te avisa — «hay inbound(s) que no están en ninguna ruta — los clientes aún no pueden verlos».

Balanceo de carga: quién acaba en qué servidor

Cuando un usuario solicita una conexión, para cada ruta el sistema elige un inbound del pool — en vivo, según las métricas más recientes de los servidores (las mismas de la lección 3). Hay dos algoritmos:

"Menor carga por tráfico" (predeterminado)

El sistema observa cuánto ancho de banda libre por usuario le queda a cada servidor: toma la capacidad del canal, resta el tráfico actual y lo divide entre el número de usuarios conectados. Gana el servidor con más margen. Es un balanceo justo «por carga real»: un servidor débil y saturado no recibirá usuarios nuevos, aunque formalmente tenga menos gente encima.

El sistema estima la capacidad del canal por su cuenta — a partir de los picos observados de tráfico real (un pico se va «enfriando» poco a poco si el servidor lleva un tiempo sin recibir carga).

"Round-robin"

Una regla simple: un usuario nuevo va al servidor que actualmente tenga menos gente — ajustado por el coeficiente del servidor. El coeficiente es un peso: un servidor con coeficiente 2.0 se considera «el doble de amplio» y recibirá aproximadamente el doble de usuarios que un vecino con 1.0. Esto te permite cargar de forma justa máquinas de distintos tamaños.

Si algún servidor del pool todavía no tiene una estimación de capacidad (por ejemplo, el servidor es nuevo y aún no ha visto ningún pico de tráfico), la ruta recurre automáticamente a round-robin — de modo que las decisiones siempre se toman con los datos que realmente existen.

Cuándo ocurre el rebalanceo

Constantemente — y de forma automática. La elección de servidor se recalcula en cada solicitud usando métricas frescas: si la carga se desplaza, los usuarios nuevos empiezan a llegar a los servidores más libres. Al mismo tiempo, el sistema intenta mantener la misma elección para un usuario dado cuando las condiciones son iguales, para que su «servidor» no rebote de un lado a otro.

Y una salvaguarda más: los servidores que la monitorización considera no disponibles quedan excluidos de la selección — más sobre esto en la lección 7.

Puntos clave

  • Una ruta es la «vitrina» de un grupo de inbounds; una ruta no vacía = una línea en la app del usuario.
  • Un inbound pertenece a una sola ruta. Un inbound fuera de cualquier ruta es invisible para los clientes.
  • Las rutas vacías son una plantilla perfectamente normal: una caja discontinua, oculta para los usuarios.
  • Dos algoritmos: por ancho de banda libre (inteligente, el predeterminado) y round-robin con pesos.
  • El balanceo es en vivo: se recalcula en cada conexión usando las métricas actuales.

A continuación

On this page